在现有People类定义的基础上,完成如下多态功能。 (1)以People类为父类,创建三个子类Student、Driver和PoliceOfficer,均重写父类中的work()方法。 (2)创建一个对象列表,包含若干People子类对象,用循环统一调用work()方法。
时间: 2024-03-10 07:47:05 浏览: 39
好的,根据你的要求,我可以给你一个示例代码来实现这个多态功能:
```python
class People:
def __init__(self, name):
self.name = name
def work(self):
print(f"{self.name} is working.")
class Student(People):
def work(self):
print(f"{self.name} is studying.")
class Driver(People):
def work(self):
print(f"{self.name} is driving.")
class PoliceOfficer(People):
def work(self):
print(f"{self.name} is enforcing the law.")
people_list = [Student("Tom"), Driver("Jerry"), PoliceOfficer("Jack")]
for people in people_list:
people.work()
```
在这个示例代码中,我们先定义了一个父类 `People`,然后创建了三个子类 `Student`、`Driver` 和 `PoliceOfficer`,它们都重写了父类中的 `work()` 方法。最后我们创建了一个对象列表 `people_list`,包含了若干 `People` 子类对象,然后用循环统一调用 `work()` 方法,实现了多态功能。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)