python中如何实现多态
时间: 2024-03-10 09:44:20 浏览: 19
在 Python 中,实现多态有多种方法。其中最常用的方法是通过继承和方法重载来实现。
1. 继承
定义一个基类,然后定义多个派生类,每个派生类都重载了基类中的方法,从而实现多态。
例如:
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
def animal_speak(animal):
print(animal.speak())
d = Dog("Rufus")
c = Cat("Fluffy")
animal_speak(d) # Output: "Woof!"
animal_speak(c) # Output: "Meow!"
```
2. 方法重载
在 Python 中没有方法重载的概念,但可以通过使用默认参数来模拟方法重载,从而实现多态。
例如:
```python
class Calculator:
def add(self, x, y, z=0):
return x + y + z
c = Calculator()
print(c.add(1, 2)) # Output: 3
print(c.add(1, 2, 3)) # Output: 6
```
在上面的示例中,`add` 方法可以接受两个或三个参数,并且会根据参数个数的不同返回不同的结果。