编写Python代码实现
时间: 2024-06-20 14:01:34 浏览: 71
py代码-Python时钟
在Python中,你可以使用继承和鸭子类型(Duck Typing)来实现多态,尽管Python不像C++那样直接支持虚函数和纯虚函数的概念。这里是一个简单的例子:
1. **继承**:Python中的多态主要基于继承和方法重写。当你定义一个基类(父类),然后创建派生类(子类)时,子类可以覆盖或扩展基类的方法。这样,你可以在父类的引用上调用子类的方法,这就是动态绑定,实现了多态。
```python
class Animal:
def sound(self):
pass
class Dog(Animal):
def sound(self):
return "Woof!"
class Cat(Animal):
def sound(self):
return "Meow!"
# 创建动物列表并调用sound方法,不同类型的动物发出不同的声音
animals = [Dog(), Cat()]
for animal in animals:
print(animal.sound()) # 输出: Woof! Meow!
```
2. **鸭子类型**:在Python中,如果你能"走路"(具有walk方法)、"说话"(具有sound方法),那么你就被视作一只鸭子(满足多态性)。不需要显式声明某个方法为虚函数,只要行为一致即可。
```python
class Duck:
def walk(self):
print("Quack walk")
def sound(self):
print("Quack")
class Human:
def walk(self):
print("Walk")
def sound(self):
print("Speech")
duck = Duck()
human = Human()
# 尽管人类没有鸭子的行为,但在这里我们依然可以说他们“多态”
duck.walk() # 输出: Quack walk
human.walk() # 输出: Walk
```
阅读全文