//设计一个person类,从person类派生出学生类、教师类 //再从学生类派生出大学生类,最后从教师类和大学生类共同派生出助教类 //在主函数中创建教师类对象与助教类对象,并设置初始值 //附加功能 //增加一个教师信息并显示 //增加一个助教信息并显示
时间: 2024-10-15 07:21:28 浏览: 17
设计一个Person类,有Person类派生一个Student类和一个Teacher类
在Python中,你可以这样设计这个类结构:
```python
# 定义基础Person类
class Person:
def __init__(self, name):
self.name = name
# 简单的自我介绍方法
def introduce(self):
return f"我是{name},来自Person类."
# 派生出Student类和Teacher类
class Student(Person):
def __init__(self, name, major):
super().__init__(name)
self.major = major
class Teacher(Person):
def __init__(self, name, subject):
super().__init__(name)
self.subject = subject
# 再从Student和Teacher类派生出TeachingAssistant类
class TeachingAssistant(Student, Teacher):
pass # 因为已经继承了所有特性,所以这里不需要添加额外属性
# 主函数
def main():
# 创建教师对象
teacher = Teacher("张老师", "数学")
# 设置助教类为同时继承自Teacher和Student
teaching_assistant = TeachingAssistant("李助手", "计算机科学", "Python")
# 显示教师信息
print(teacher.introduce())
print(f"{teacher.name}教授{teacher.subject}.")
# 显示助教信息,因为Ta既是教师也是学生,可以访问两个类的属性
print(teaching_assistant.introduce())
print(f"{teaching_assistant.name}教授{teaching_assistant.subject}, 还学习了{teaching_assistant.major}.")
# 执行附加功能
main()
```
在这个例子中,`TeachingAssistant`类既包含了教师的信息又包含了学生的特定信息。当你创建`TeachingAssistant`对象时,它将同时拥有教师和学生的能力。
阅读全文