使用【python】写【经典的多态性 多重继承案例】的代码
时间: 2024-12-17 15:51:18 浏览: 6
在Python中,虽然不像C++或Java那样支持严格的多重继承(因为Python的继承基于MRO - Method Resolution Order),但是我们可以通过组合多个基类以及super()关键字模拟多重继承的效果。这里有一个简单的例子,我们将创建一个动物基类和两个子类(鸟和哺乳动物):
```python
# 定义动物基类 Animal
class Animal:
def __init__(self, name):
self.name = name
# 共享的行为方法
def speak(self):
pass
# 定义鸟类 Bird
class Bird(Animal):
def speak(self):
return f"{self.name} says chirp!"
# 定义哺乳动物 Mammal (不直接继承Animal,但共享行为)
class Mammal(Animal):
def speak(self):
return f"{self.name} says meow!"
# 创建一个实例并显示它们如何表现出不同行为
class CombinedBirdAndMammal(Bird, Mammal): # 类似于多重继承
pass
combined_animal = CombinedBirdAndMammal("Hybrid")
print(combined_animal.speak()) # 输出 "Hybrid says chirp!"
```
在这个例子中,`CombinedBirdAndMammal` 类继承了 `Bird` 和 `Mammal` 的行为,尽管它们都是间接地通过 `Animal` 类。当我们调用 `speak()` 方法时,Python会根据当前类的定义去执行相应的函数。
阅读全文