python 实现代码
时间: 2024-07-17 18:00:27 浏览: 86
<<
在Python中,多态主要是通过方法重写和继承机制来实现的,尽管Python不像C++或Java那样明确支持虚函数或纯虚函数的概念。但是,我们可以使用鸭子类型(Duck Typing)来模拟多态效果。
1. 方法重写(Dynamic Dispatch):Python中的方法调用是基于对象的实际类型进行的,如果你有一个基类的引用并且对它调用方法,实际执行的是子类中的方法,如果子类覆盖了基类的方法。这在`super()`函数中体现得尤为明显。
2. 继承和多态:通过创建子类并重写父类的方法,可以实现行为的改变。子类实例可以看作是父类的实例,但具有扩展的功能。这就是Python中的动态多态。
例如:
```python
class Animal:
def sound(self):
print("Animal makes a sound")
class Dog(Animal):
def sound(self):
print("Dog barks")
# 使用Animal类型的引用调用sound方法,实际执行的是Dog类的sound方法
animal = Animal()
animal.sound() # 输出 "Dog barks"
# 相关问题--
1. Python如何通过继承和方法重写实现多态?
2. 在Python中,鸭子类型是如何帮助实现多态的?
3. 如何在Python中使用super()函数来实现多态?
```
>>
阅读全文