实验 2:python编写程序,重点理解构造方法在继承中的运用。 要求:编写 Person 类,其具有 name、age、sex 等属性。继承于 Person 类的 Teacher 类,具 有 title、quality、salary、prize 等属性。显示这些属性,并计算 salary、prize 之和。
时间: 2023-12-20 15:04:00 浏览: 74
以下是实现上述要求的 Python 代码:
```python
class Person:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
class Teacher(Person):
def __init__(self, name, age, sex, title, quality, salary, prize):
super().__init__(name, age, sex)
self.title = title
self.quality = quality
self.salary = salary
self.prize = prize
def display(self):
print("Name:", self.name)
print("Age:", self.age)
print("Sex:", self.sex)
print("Title:", self.title)
print("Quality:", self.quality)
print("Salary:", self.salary)
print("Prize:", self.prize)
def calculate_total_income(self):
return self.salary + self.prize
# 测试代码
teacher = Teacher("张三", 35, "男", "教授", "优秀", 8000, 5000)
teacher.display()
print("Total Income:", teacher.calculate_total_income())
```
在上面的代码中,我们首先定义了一个 `Person` 类,包含了 `name`、`age` 和 `sex` 三个属性。接着,我们定义了一个 `Teacher` 类,它继承自 `Person` 类,并且包含了 `title`、`quality`、`salary` 和 `prize` 四个属性。在 `Teacher` 类的构造方法中,我们首先调用了 `super()` 函数,来调用父类的构造方法,以便初始化 `name`、`age` 和 `sex` 三个属性。然后,我们初始化了 `title`、`quality`、`salary` 和 `prize` 四个属性。在 `Teacher` 类中,我们还定义了两个方法:`display()` 方法用于显示这些属性,`calculate_total_income()` 方法用于计算 `salary` 和 `prize` 之和。最后,我们创建了一个 `Teacher` 对象,并对其进行了测试。
阅读全文