继承 多态 python
时间: 2024-02-28 13:51:09 浏览: 92
Python的继承多态
继承是面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类可以通过继承来获得父类的特性,并且可以在此基础上添加自己的特性或修改父类的行为。
在Python中,继承可以通过在定义子类时在类名后面加上父类名来实现。子类可以访问父类的属性和方法,并且可以重写父类的方法以实现自己的逻辑。
多态是面向对象编程中的另一个重要概念,它允许不同的对象对同一个消息做出不同的响应。多态性通过方法的重写和方法的重载来实现。
在Python中,多态性是通过动态类型和动态绑定来实现的。动态类型意味着变量的类型是在运行时确定的,而不是在编译时确定的。动态绑定意味着方法的调用是根据对象的类型来确定的,而不是根据变量的类型来确定的。
下面是一个简单的示例代码,演示了继承和多态在Python中的应用:
```python
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
pass
class Dog(Animal):
def sound(self):
return "Woof!"
class Cat(Animal):
def sound(self):
return "Meow!"
def make_sound(animal):
print(animal.sound())
dog = Dog("Buddy")
cat = Cat("Kitty")
make_sound(dog) # 输出:Woof!
make_sound(cat) # 输出:Meow!
```
在上面的代码中,Animal是一个基类,它定义了一个抽象方法sound。Dog和Cat是Animal的子类,它们分别重写了sound方法。make_sound函数接受一个Animal类型的参数,并调用该参数的sound方法。当我们传入一个Dog对象时,输出的是"Woof!",传入一个Cat对象时,输出的是"Meow!"。这就是多态性的体现。
阅读全文