Python 接口_实现类_继承_多态 小例子

发布时间 2023-11-28 15:46:35作者: zwnsyw
# 定义接口类
from abc import ABC, abstractmethod


class Animal(ABC):
    @abstractmethod
    def speak(self):
        pass


# 定义实现类
class Dog(Animal):
    def speak(self):
        return "Woof!"


class Cat(Animal):
    def speak(self):
        return "Meow!"


class Cow(Animal):
    def speak(self):
        return "Moo!"


# 创建对象
dog = Dog()
cat = Cat()
cow = Cow()

# 调用不同对象的speak方法,实现多态
print(dog.speak())  # 输出: Woof!
print(cat.speak())  # 输出: Meow!
print(cow.speak())  # 输出: Moo!

"""
当我们定义了一个抽象类Animal,它有一个抽象方法speak()。抽象类不能被实例化,只能被继承。因此,我们定义了三个具体的实现类Dog、Cat和Cow,它们都继承自Animal类,并且都实现了speak()方法。  接下来,我们创建了Dog、Cat和Cow的实例对象dog、cat和cow。然后,我们通过调用不同对象的speak()方法,实现了多态性,即不同对象对同一个方法speak()有不同的实现。  最后,我们使用print()函数打印不同对象的speak()方法的返回值,即dog.speak()返回"Woof!",cat.speak()返回"Meow!",cow.speak()返回"Moo!"。
"""