设计Teacher类,继承Person类。将Person类的成员变量改为出生日期,再设计age()方法求年龄。
时间: 2023-05-26 14:01:02 浏览: 87
A:
```python
class Person:
def __init__(self, name:str, birth_date:str):
self.name = name
self.birth_date = birth_date
class Teacher(Person):
def __init__(self, name:str, birth_date:str):
super().__init__(name, birth_date)
def age(self):
birth_year = int(self.birth_date[:4])
current_year = datetime.datetime.now().year
age = current_year - birth_year
return age
```
在这个例子中,我们首先定义了一个基类Person,其包含了姓名(name)和出生日期(birth_date)两个成员变量。
接下来,我们定义了一个Teacher类,它继承自Person类。Teacher类不需要再定义姓名和出生日期,因为它继承了Person类中的这两个成员变量。
但是,我们需要重新实现Teacher类中的age()方法,因为Teacher的年龄的计算方式与Person可能不同。在上面这个例子中,我们假设Teacher的年龄等于当前时间与出生年份之差。
这里使用了datetime模块来获取当前年份。我们假设birth_date是一个字符串,它的前四位是出生年份。我们将它转换为一个整数(int),然后将当前年份减去出生年份,就得到了教师的年龄。
阅读全文