定义一个 person基类,包含公有属性:姓名name、年龄age,具有speak()公有方法;从person类中派生出一个teacher子类,该类新增私有属性:专业profession、职称title、主讲课程course,并定义重写基类speak( )方法。
时间: 2023-12-03 10:43:55 浏览: 125
设计一个Person类,有Person类派生一个Student类和一个Teacher类
以下是 Python 代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def speak(self):
print(f"{self.name}说:你好!")
class Teacher(Person):
def __init__(self, name, age, profession, title, course):
super().__init__(name, age)
self.__profession = profession
self.__title = title
self.__course = course
def speak(self):
print(f"{self.name}说:大家好,我是{self.__title} {self.name},我的专业是{self.__profession},我主讲的课程是{self.__course}。")
```
在上述代码中,我们定义了一个 `Person` 基类,包含了姓名 `name` 和年龄 `age` 两个公有属性,以及 `speak()` 公有方法;然后从 `Person` 类中派生出一个 `Teacher` 子类,该类新增了三个私有属性:专业 `profession`、职称 `title`、主讲课程 `course`,并且重写了基类 `speak()` 方法。在 `Teacher` 类的 `speak()` 方法中,我们使用了 f-string 格式化字符串,输出了该老师的一些信息。
阅读全文