17 python 多态和多态性
1 测试代码
import abc class Animal(metaclass=abc.ABCMeta): # 抽象类:里面的方法必须是抽象方法 @abc.abstractmethod # 抽象方法 def speak(self): pass class Dog(Animal): # 继承 def speak(self): # 多态:狗狗说话汪 print('汪~汪~汪~') class Cat(Animal): # 继承 def speak(self): # 多态:猫猫说话喵 print('喵~喵~喵~') def fun(obj): # 多态性:一种调用方式,不同 obj 产生不同的执行效果 obj.speak() # if __name__ == "__main__": # 多态 dog = Dog() dog.speak() cat = Cat() cat.speak() # 多态性 fun(dog) fun(cat)
2 测试结果
汪~汪~汪~ 喵~喵~喵~ 汪~汪~汪~ 喵~喵~喵~
浙公网安备 33010602011771号