python多态的概念
时间: 2023-09-25 19:06:26 浏览: 49
Python中的多态是面向对象编程的一个重要概念,它允许不同类型的对象对同一方法进行不同的实现。简单来说,多态性是指同一个方法可以根据对象的不同类型而表现出不同的行为。
在Python中实现多态有两种方式:函数重载和方法重写。
1. 函数重载:Python中没有函数重载的概念,但可以通过使用默认参数或者可变参数来实现类似的效果。例如,可以定义一个函数,根据传入参数的类型执行不同的操作。
2. 方法重写:当一个子类继承自父类并且定义了与父类相同名称的方法时,子类可以改变或扩展父类方法的行为。这样,在调用方法时,根据对象的实际类型,会执行相应的子类方法。
下面是一个简单的例子,展示了多态性的概念:
```python
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
def make_animal_speak(animal):
print(animal.speak())
dog = Dog()
cat = Cat()
make_animal_speak(dog) # 输出 "Woof!"
make_animal_speak(cat) # 输出 "Meow!"
```
在上面的例子中,Animal 是一个基类,而 Dog 和 Cat 分别是 Animal 的子类。它们都实现了 speak() 方法,但方法的具体实现不同。通过调用 make_animal_speak() 函数,我们可以实现对不同类型对象的多态处理,使得它们根据自己的实际类型输出不同的结果。