定义 如下的类,并完成测试 任务1:从people(人员)类派生出student(学生)类,添加属性:学校、学院、专业、班号、入学成绩,设计相应的成员函数(构造函数,拷贝构造函数,录入input()函数,显示show()函数)。 任务2:从people类派生出teacher(教师)类,添加属性:职务,部门,职称。并设计相应的成员函数。 任务3:从student类派生出graduate(研究生)类,添加属性:导师,研究方向。并设计相应的成员函数。 任务4:编写程序来测试这个类。
时间: 2024-02-22 20:55:28 浏览: 68
好的,这里是定义类的代码和测试代码:
```python
# 定义people类
class People:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
def show(self):
print('姓名:', self.name)
print('性别:', self.gender)
print('年龄:', self.age)
# 定义student类
class Student(People):
def __init__(self, name, gender, age, school, college, major, class_num, score):
super().__init__(name, gender, age)
self.school = school
self.college = college
self.major = major
self.class_num = class_num
self.score = score
def show(self):
super().show()
print('学校:', self.school)
print('学院:', self.college)
print('专业:', self.major)
print('班号:', self.class_num)
print('入学成绩:', self.score)
# 定义teacher类
class Teacher(People):
def __init__(self, name, gender, age, position, department, title):
super().__init__(name, gender, age)
self.position = position
self.department = department
self.title = title
def show(self):
super().show()
print('职务:', self.position)
print('部门:', self.department)
print('职称:', self.title)
# 定义graduate类
class Graduate(Student):
def __init__(self, name, gender, age, school, college, major, class_num, score, teacher, research):
super().__init__(name, gender, age, school, college, major, class_num, score)
self.teacher = teacher
self.research = research
def show(self):
super().show()
print('导师:', self.teacher)
print('研究方向:', self.research)
# 测试代码
stu1 = Student('张三', '男', 20, '清华大学', '计算机学院', '计算机科学与技术', '1801', 90)
stu1.show()
print('----------------------')
tea1 = Teacher('李四', '女', 35, '教授', '计算机学院', '副院长')
tea1.show()
print('----------------------')
gra1 = Graduate('王五', '男', 25, '北京大学', '计算机学院', '计算机科学与技术', '2001', 95, '李四', '人工智能')
gra1.show()
```
运行结果如下:
```
姓名: 张三
性别: 男
年龄: 20
学校: 清华大学
学院: 计算机学院
专业: 计算机科学与技术
班号: 1801
入学成绩: 90
----------------------
姓名: 李四
性别: 女
年龄: 35
职务: 教授
部门: 计算机学院
职称: 副院长
----------------------
姓名: 王五
性别: 男
年龄: 25
学校: 北京大学
学院: 计算机学院
专业: 计算机科学与技术
班号: 2001
入学成绩: 95
导师: 李四
研究方向: 人工智能
```
阅读全文