学生的属性:姓名、性别、年龄、学号、年级、专业;学生的行为:吃饭、娱乐、学习、写作业。教师的属性:姓名、性别、年龄、工号、职称、部门;教师的行为:吃饭、娱乐、授课、改作业。请设计出对应的继承体系,并在主类中完成测试。
时间: 2023-10-01 17:07:53 浏览: 78
以下是一个可能的设计:
```
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
def eat(self):
print(f"{self.name} is eating.")
def have_fun(self):
print(f"{self.name} is having fun.")
class Student(Person):
def __init__(self, name, gender, age, student_id, grade, major):
super().__init__(name, gender, age)
self.student_id = student_id
self.grade = grade
self.major = major
def study(self):
print(f"{self.name} is studying.")
def do_homework(self):
print(f"{self.name} is doing homework.")
class Teacher(Person):
def __init__(self, name, gender, age, job_id, title, department):
super().__init__(name, gender, age)
self.job_id = job_id
self.title = title
self.department = department
def teach(self):
print(f"{self.name} is teaching.")
def grade_homework(self):
print(f"{self.name} is grading homework.")
```
在主类中进行测试:
```
s1 = Student("Alice", "female", 20, "20210001", "Sophomore", "Computer Science")
s1.eat() # Alice is eating.
s1.study() # Alice is studying.
t1 = Teacher("Bob", "male", 35, "10001", "Associate Professor", "Computer Science")
t1.have_fun() # Bob is having fun.
t1.teach() # Bob is teaching.
```