!在python中用法
时间: 2024-10-22 18:05:52 浏览: 27
在Python中,多态主要是通过继承、方法重载(虽然Python没有真正的“重载”,但可以使用默认参数来实现类似效果)、以及鸭子类型的动态 dispatch 来实现的。
1. **继承**:Python支持单继承或多继承,子类可以从父类继承属性和方法。如果子类覆盖了父类的方法,那么在调用该方法时,会执行子类的方法实现,这就是多态的基础。
2. **鸭子类型(Duck Typing)**:Python是一种动态类型语言,它更关注于对象是否能完成所需的行为,而不是它的类型。只要对象实现了预期的方法,就可以被认为是具有相应功能的。例如,即使是一个字典,如果它有一个`get`方法,也能在某些上下文中被视为可迭代对象。
**示例**:
```python
class Animal:
def sound(self):
pass
class Dog(Animal):
def sound(self):
return "Woof!"
class Duck(Animal):
def sound(self):
return "Quack!"
def make_sound(animal):
animal.sound()
dog = Dog()
duck = Duck()
make_sound(dog) # 输出: "Woof!"
make_sound(duck) # 输出: "Quack!"
```
阅读全文