设计并实现计算不同职称的教师工资

发布时间 2023-04-25 00:47:05作者: YE-

【题目描述】

设计教师接口,该接口包含教师工资计算方法。应用(一)中的高校人员信息包,设计不同职称的教师类:教授,副教授,讲师,教师的基本信息包括姓名、性别、出生年月、职称、课时工作量等属性。注意学校对教师每月工资的计算规定如下:固定工资+课时补贴;教授的固定工资为5000元,每个课时补贴50元;副教授的固定工资为3000元,每个课时补贴30元;讲师的固定工资为2000元,每个课时补贴20元。

程序中定义各种教师类的对象,并编写程序求这些教师的月工资。

【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

class Teacher:
    def __init__(self, name, gender, birth, zhicheng, work):
        self.name = name
        self.gender = gender
        self.birth = birth
        self.zhicheng = zhicheng
        self.work = work

    def income(self):
        if self.zhicheng == "教授":
            return self.work * 50 + 5000
        elif self.zhicheng == "副教授":
            return self.work * 30 + 3000
        elif self.zhicheng == "讲师":
            return self.work * 20 + 2000

    def display(self):
        print(self.name + self.zhicheng + "的工资:" + str(Teacher.income(self)))


class Professor(Teacher):
    def __init__(self):
        Teacher.__init__(self, name='Taylor', gender='女', birth="1989-12-13", zhicheng="教授", work=5)


class Professor_Fu(Teacher):
    def __init__(self):
        Teacher.__init__(self, name='Charlie', gender='男', birth="1990-05-07", zhicheng="副教授", work=5)


class Instructor(Teacher):
    def __init__(self):
        Teacher.__init__(self, name='Tom', gender='男', birth="1998-02-06", zhicheng="讲师", work=5)


p = Professor()
p.display()
pf = Professor_Fu()
pf.display()
i = Instructor()
i.display()