教程 python tutorial

继承与多态

继承是面向对象编程中的重要特性,它允许我们通过已有的类创建新类。多态则使得不同类型的对象能够以相同的接口响应调用,从而提高代码的灵活性和可扩展性。

继承

继承允许一个类从另一个类获取属性和方法。通过继承,可以复用已有类的代码。

python
class Animal:
    def speak(self):
        print("动物发出声音")

class Dog(Animal):
    def speak(self):
        print("汪汪")

class Cat(Animal):
    def speak(self):
        print("喵喵")

dog = Dog()
cat = Cat()

dog.speak()  # 输出:汪汪
cat.speak()  # 输出:喵喵

在上述代码中,Dog 和 Cat 都继承了 Animal 类,并重写了 speak 方法。

多态

多态是指不同类型的对象能够通过相同的接口调用不同的实现。通过继承和方法重写,实现了多态。

python
def make_sound(animal):
    animal.speak()

make_sound(dog)  # 输出:汪汪
make_sound(cat)  # 输出:喵喵

尽管 dog 和 cat 是不同类型的对象,但它们都实现了 speak 方法,因此可以通过相同的 make_sound 函数进行调用。

方法重写与父类方法的调用

在子类中,我们可以重写父类的方法。如果需要在子类中调用父类的方法,可以使用 super()。

python
class Bird(Animal):
    def speak(self):
        super().speak()  # 调用父类方法
        print("鸟儿唱歌")

bird = Bird()
bird.speak()  # 输出:动物发出声音\n鸟儿唱歌

总结

  • 继承允许通过已有类创建新类,并复用代码;
  • 多态使得不同类型的对象可以通过相同接口调用不同的实现;
  • 通过方法重写,子类可以修改父类方法的行为,并且可以通过 super() 调用父类方法。