# 定义接口类 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!"。 """