定义一个Fruit抽象类,方法有dance,定义这个类的3个子类,分别重写这个方法,利用多态,定义一个fruit类型的对象a,分别引用三个字类的对象,调用dance方法
时间: 2024-03-02 20:53:00 浏览: 53
使用抽象方法实现多态
好的,根据您的要求,我来为您解答此问题。
首先,我们需要定义一个Fruit抽象类,并在其中定义一个抽象方法dance,代码如下:
```python
from abc import ABC, abstractmethod
class Fruit(ABC):
@abstractmethod
def dance(self):
pass
```
然后,我们可以分别定义3个子类Apple、Banana和Orange,并实现各自的dance方法,代码如下:
```python
class Apple(Fruit):
def dance(self):
print("苹果在跳舞!")
class Banana(Fruit):
def dance(self):
print("香蕉在跳舞!")
class Orange(Fruit):
def dance(self):
print("橘子在跳舞!")
```
最后,我们可以创建一个fruit类型的对象a,并分别引用三个字类的对象,然后调用它们的dance方法,代码如下:
```python
a1 = Apple()
a2 = Banana()
a3 = Orange()
fruits = [a1, a2, a3]
for fruit in fruits:
fruit.dance()
```
输出结果如下:
```
苹果在跳舞!
香蕉在跳舞!
橘子在跳舞!
```
以上就是这道题的解答,希望能够帮助您。
阅读全文