进行python编程:
定义一个人员类People,其属性有:姓名、性别、年龄;基于People实现学生类Student,添加属性:学号、入学时间和入学成绩;基于People实现教师类Teacher,添加属性:职务、部门、工作时间;基于Student实现究生类Graduate,添加属性:研究方向和导师,分别定义其中的构造函数和输出函数。程序中定义各种类的对象,并完成测试。 基于以上类利用接口实现在职研究生类 GradOnWork。
class People: def __init__(self, name, gender, age): self.name = name self.gender = gender self.age = age def display_info(self): print(f"姓名: {self.name}, 性别: {self.gender}, 年龄: {self.age}") class Student(People): def __init__(self, name, gender, age, student_id, enrollment_date, entrance_score): super().__init__(name, gender, age) self.student_id = student_id self.enrollment_date = enrollment_date self.entrance_score = entrance_score def display_info(self): super().display_info() print(f"学号: {self.student_id}, 入学时间: {self.enrollment_date}, 入学成绩: {self.entrance_score}") class Teacher(People): def __init__(self, name, gender, age, position, department, work_years): super().__init__(name, gender, age) self.position = position self.department = department self.work_years = work_years def display_info(self): super().display_info() print(f"职务: {self.position}, 部门: {self.department},工作时间: {self.work_years}") class Graduate(Student): def __init__(self, name, gender, age, student_id, enrollment_date, entrance_score, research_area, advisor): super().__init__(name, gender, age, student_id, enrollment_date, entrance_score) self.research_area = research_area self.advisor = advisor def display_info(self): super().display_info() print(f"研究方向: {self.research_area}, 导师: {self.advisor}") class GradOnWork(Graduate): def __init__(self, name, gender, age, student_id, enrollment_date, entrance_score, research_area, advisor, company): super().__init__(name, gender, age, student_id, enrollment_date, entrance_score, research_area, advisor) self.company = company def display_info(self): super().display_info() print(f"Company: {self.company}") # Testing the classes student1 = Student("张三", "女", 20, "S12345", "2022-09-01", 95) teacher1 = Teacher("李四", "男", 35, "教授", "软件工程", 10) graduate1 = Graduate("王五", "女", 25, "G54321", "2020-09-01", 90, "计算机", "李田所") grad_on_work1 = GradOnWork("田所浩二", "男", 27, "114514", "1919-08-10", 88, "下北泽饮食研究", "李田所", "Tech Company") student1.display_info() teacher1.display_info() graduate1.display_info() grad_on_work1.display_info()
标签:__,info,12,name,gender,self,2024,display From: https://www.cnblogs.com/drz1145141919810/p/18255461