(1)编写一个名为person的类,该类包含name和age属性以及一个show( )方法用于打印姓名和年龄信息; (2)编写一个名为teacher的类,该类公有继承自person类,并且增加major属性用来表示教师的专业,增加sleep( )方法打印教师的睡觉时间; (3)编写一个主函数,在该函数中分别实例化一个person对象和teacher对象,用person对象调用show( )方法,用teacher对象调用show()方法和sleep( ),观察运行结果。
时间: 2023-06-01 20:02:19 浏览: 155
### 回答1:
1. 编写一个名为Person的类,该类包含name和age属性以及一个show()方法用于打印姓名和年龄信息;
2. 编写一个名为Teacher的类,该类继承自Person类,并增加major属性用来表示教师的专业,并增加sleep()方法打印教师的睡眠时间;
3. 编写一个主函数,在该函数中实例化一个Person对象和一个Teacher对象,使用Person对象调用show()方法,使用Teacher对象调用show()和sleep()方法,观察运行结果。
### 回答2:
1. person类的代码如下:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print('姓名:{},年龄:{}'.format(self.name, self.age))
```
2. teacher类的代码如下:
```python
class Teacher(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major
def sleep(self):
print('今晚睡觉时间:11点')
def show(self):
super().show()
print('专业:{}'.format(self.major))
```
3. 主函数的代码如下:
```python
def main():
p = Person('张三', 28)
p.show()
t = Teacher('李四', 35, '数学')
t.show()
t.sleep()
```
运行结果为:
```
姓名:张三,年龄:28
姓名:李四,年龄:35
专业:数学
今晚睡觉时间:11点
```
### 回答3:
(1) 首先,我们定义一个名为person的类,它包含name和age属性以及一个show()方法用于打印姓名和年龄信息:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print("Name:", self.name)
print("Age:", self.age)
```
此时,我们就可以实例化一个person对象,并调用其show()方法来打印相关信息了:
```python
p = Person("小明", 18)
p.show()
```
输出结果为:
```
Name: 小明
Age: 18
```
(2) 接下来,我们创建一个名为teacher的类,它公有继承自person类,并增加major属性用来表示教师的专业,增加sleep()方法用于打印教师的睡觉时间:
```python
class Teacher(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major
def show(self):
super().show()
print("Major:", self.major)
def sleep(self):
print("我是教师,睡觉时间不固定")
```
注意,子类中重写的show方法应该调用父类的show方法,然后再额外打印出专业信息。
现在,我们就可以实例化一个teacher对象,并分别调用其show()和sleep()方法了:
```python
t = Teacher("小红", 25, "数学")
t.show()
t.sleep()
```
输出结果为:
```
Name: 小红
Age: 25
Major: 数学
我是教师,睡觉时间不固定
```
(3) 最后,我们在主函数中分别实例化一个person对象和teacher对象,并用其调用相关方法:
```python
def main():
p = Person("小明", 18)
p.show()
t = Teacher("小红", 25, "数学")
t.show()
t.sleep()
if __name__ == '__main__':
main()
```
输出结果为:
```
Name: 小明
Age: 18
Name: 小红
Age: 25
Major: 数学
我是教师,睡觉时间不固定
```
可以看到,person对象只能调用show()方法,而teacher对象既可以调用show()方法还可以调用sleep()方法,符合类的继承特点。同时,子类中重写的show()方法让其能够打印出额外的专业信息。
阅读全文