python多态的例子
时间: 2023-06-29 11:18:07 浏览: 96
一个多态的例子
多态是面向对象编程中的一个重要概念,它指的是同一种类型的对象在不同的情况下会表现出不同的行为。在 Python 中,多态可以通过方法的重写和方法的重载来实现。
下面是一个使用方法重写实现多态的例子:
```python
class Animal:
def __init__(self, name):
self.name = name
def make_sound(self):
pass
class Cat(Animal):
def make_sound(self):
print(self.name + " makes sound 'meow'")
class Dog(Animal):
def make_sound(self):
print(self.name + " makes sound 'woof'")
animals = [Cat('Tom'), Dog('Jerry')]
for animal in animals:
animal.make_sound()
```
在上面的例子中,我们定义了一个 `Animal` 类和两个子类 `Cat` 和 `Dog`。在父类 `Animal` 中定义了一个 `make_sound` 方法,但是没有具体的实现。在子类 `Cat` 和 `Dog` 中重写了 `make_sound` 方法,并分别输出了它们的叫声。我们创建了一个包含 `Cat` 和 `Dog` 实例的列表 `animals`,并遍历该列表,调用每个实例的 `make_sound` 方法。由于 `Cat` 和 `Dog` 实例都是 `Animal` 类型的,所以它们的 `make_sound` 方法被调用时会表现出不同的行为,这就是多态的体现。
另外,Python 还支持方法的重载,但是由于 Python 是动态类型语言,所以并不需要使用方法的重载来实现多态。
阅读全文