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 测试结果

汪~汪~汪~~喵~喵~~汪~汪~~喵~喵~

 

posted @ 2021-02-08 21:43  栗子测试开发  阅读(75)  评论(0)    收藏  举报