编写人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等属性,通过对Person类的继承得到教师类(Teacher),该类能够存放教师的职称、学历、工资、奖金等信息,并能计算出总收入(工资+奖金)。
提示:编写Person类及定义基本属性;Teacher类先继承并定义其他属性类,并包含输出所有信息输出方法及总收入计算方法(工资+奖金)并输出将结果;最后实列化一名教师信息,调用信息输出方法及总收入计算方法输出结果
# 定义Person类,包含姓名、年龄、性别属性
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def get_info(self):
# 输出姓名、年龄、性别信息
print(f"Name: {self.name}, Age: {self.age}, Gender: {self.gender}")
# 定义Teacher类,继承自Person类,包含职称、学历、工资、奖金属性
class Teacher(Person):
def __init__(self, name, age, gender, title, degree, salary, bonus):
super().__init__(name, age, gender)
self.title = title
self.degree = degree
self.salary = salary
self.bonus = bonus
def calc_total_income(self):
# 计算总收入(工资+奖金)
return self.salary + self.bonus
def get_info(self):
# 调用父类方法输出姓名、年龄、性别信息,再输出职称、学历、工资、奖金信息
super().get_info()
print(f"Title: {self.title}, Degree: {self.degree}, Salary: {self.salary}, Bonus: {self.bonus}")
# 实例化一名教师信息,并调用信息输出方法及总收入计算方法
teacher1 = Teacher("Tom", 35, "Male", "Professor", "PhD", 6000, 2000)
teacher1.get_info()
print(f"Total Income: {teacher1.calc_total_income()}")
输出结果如下:
Name: Tom, Age: 35, Gender: Male
Title: Professor, Degree: PhD, Salary: 6000, Bonus: 2000
Total Income: 8000
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, education, salary, bonus):
super().__init__(name, age, sex)
self.title = title
self.education = education
self.salary = salary
self.bonus = bonus
def calculate_total_income(self):
total_income = self.salary + self.bonus
return total_income
def display_information(self):
print("姓名:", self.name)
print("年龄:", self.age)
print("性别:", self.sex)
print("职称:", self.title)
print("学历:", self.education)
print("工资:", self.salary)
print("奖金:", self.bonus)
teacher = Teacher("tom", 35, "男", "校长", "博士", 5000, 2000)
teacher.display_information()
total_income = teacher.calculate_total_income()
print("总收入:", total_income)