python中多态的概念
时间: 2024-06-09 14:06:44 浏览: 137
多态是指在面向对象编程中,一个对象可以以多种形态存在的特性。在Python中,多态性体现在子类对象调用父类相同的方法时,可以产生各自不同的结果。多态性依赖于继承,可以通过接口继承或重写父类的方法来实现。
在Python中,函数的参数没有类型限制,所以多态的概念在Python中并不是非常严谨。Python更倾向于采用"鸭子类型",即只要一个对象具有特定的属性和方法,就可以被当作是某种类型的对象。
以下是Python中多态的几个例子:
```python
class Animal:
def make_sound(self):
pass
class Cat(Animal):
def make_sound(self):
print("Meow Meow")
class Dog(Animal):
def make_sound(self):
print("Woof Woof")
def make_animal_sound(animal):
animal.make_sound()
cat = Cat()
dog = Dog()
make_animal_sound(cat) # 输出:Meow Meow
make_animal_sound(dog) # 输出:Woof Woof
```
在上面的例子中,Animal是一个抽象类,Cat和Dog是它的子类。它们都有make_sound方法,但是具体实现有所不同。当调用make_animal_sound函数时,根据传入的不同的对象,会产生不同的结果。
阅读全文