面向对象多态


多态是面向对象编程的三大特性之一,指同一类事物的多种形态。在 Python 中,多态可以通过继承和重写来实现。

具体地说,当一个类定义了一个方法,并且另一个类继承该类并重写了该方法时,我们就拥有了多态性。即无论哪个子类对象调用该方法,都会执行其自身的版本。下面是一个简单的示例代码:

class Animal:
    def sound(self):
        pass

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

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

# 测试
animals = [Dog(), Cat()]
for animal in animals:
    animal.sound()

在上述代码中,我们定义了一个 Animal 父类和两个子类 Dog 和 Cat,它们都重写了父类的 sound() 方法。在测试部分,我们创建了一个包含两个子类对象的列表,然后遍历该列表,并依次调用每个对象的 sound() 方法。由于多态的存在,无论是哪种动物对象,它们都会发出自己独特的声音,从而实现了多态性。

总之,Python 作为一门面向对象的编程语言,非常支持多态这个概念,通过继承和重写可以很方便地实现多态性。无论是多态还是其他面向对象编程的特性,都是使用 Python 进行程序开发的必备知识点之一。