设计一个Person类,有Person类派生一个Student类和一个Teacher类
时间: 2024-05-16 08:16:42 浏览: 11
以下是一个可能的实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"My name is {self.name} and I am {self.age} years old.")
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def introduce(self):
super().introduce()
print(f"I am a student in grade {self.grade}.")
class Teacher(Person):
def __init__(self, name, age, subject):
super().__init__(name, age)
self.subject = subject
def introduce(self):
super().introduce()
print(f"I am a teacher of {self.subject}.")
```
在这个实现中,`Person` 类有一个名字和年龄属性,并且有一个 `introduce()` 方法,用于打印一个人的自我介绍。`Student` 类和 `Teacher` 类都从 `Person` 类继承,并且添加了一个额外的属性(`grade` 和 `subject`)以及一个重写的 `introduce()` 方法,用于打印更具体的介绍信息。