收发消息 X 老师说:某学校教师每月工资的计算公式如下:固定工资课时补贴 1, 教授(Professor)的固定工资为5000元,每个课时补550元; 2.副软授(ViceProfessr)的固定工资为3000元,每个课时补贴30元; 3讲师(Tutor)的周定工资为2000元,每个课时补贴20元。 定义教师(Toacher)田象类,派生不同职称的教师子共,编写程求若羊教师 的月工资。
时间: 2024-01-21 18:19:54 浏览: 65
好的,根据题目要求,我们可以先定义一个教师(Teacher)类,包含固定工资和课时补贴两个成员变量。然后再派生出三个子类,分别是教授(Professor)、副教授(ViceProfessor)和讲师(Tutor)。在每个子类中重写月工资计算方法,即可实现不同职称教师月工资的计算。
下面是代码实现:
```python
class Teacher:
def __init__(self, fixed_salary, allowance_per_hour):
self.fixed_salary = fixed_salary
self.allowance_per_hour = allowance_per_hour
def calculate_monthly_salary(self, total_hours):
return self.fixed_salary + self.allowance_per_hour * total_hours
class Professor(Teacher):
def __init__(self):
super().__init__(5000, 550)
def calculate_monthly_salary(self, total_hours):
return super().calculate_monthly_salary(total_hours)
class ViceProfessor(Teacher):
def __init__(self):
super().__init__(3000, 30)
def calculate_monthly_salary(self, total_hours):
return super().calculate_monthly_salary(total_hours)
class Tutor(Teacher):
def __init__(self):
super().__init__(2000, 20)
def calculate_monthly_salary(self, total_hours):
return super().calculate_monthly_salary(total_hours)
```
使用示例:
```python
# 创建不同职称的教师对象
professor = Professor()
vice_professor = ViceProfessor()
tutor = Tutor()
# 计算每个教师的月工资
total_hours = 80
print("教授月工资:", professor.calculate_monthly_salary(total_hours))
print("副教授月工资:", vice_professor.calculate_monthly_salary(total_hours))
print("讲师月工资:", tutor.calculate_monthly_salary(total_hours))
```
输出结果:
```
教授月工资: 55000
副教授月工资: 8400
讲师月工资: 4000
```
以上就是一个简单的教师工资计算程序的实现。
阅读全文