Administrator
发布于 2026-06-17 / 0 阅读
0
0

07-多态

多态

多态:同一个行为用不同的对象获取不同的状态。
ex: 定义一个函数(方法),通过类型注解声明需要父类对象,但实际使用时传入子类对象工作。

抽象类(接口)

抽象方法:没有具体实现的方法体(pass)
抽象类:包含抽象方法的类
作用:用于顶层设计(设计标准),以便子类做具体实现。 – 对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法。


示例:

# 定义抽象类(也可以叫接口) -- 含有抽象方法的类叫抽象类
class Animal:
    # 方法体为空实现(pass)的叫抽象方法
    def say(self):
        pass


class Dog(Animal):
    def say(self):
        print("汪~ 汪~ 汪~")


class Cat(Animal):
    def say(self):
        print("喵~ 喵~ 喵~")


# 多态
# 抽象的父类设计(设计标准)
# 具体的子类实现(实现标准)
def say(animal: Animal):
    animal.say()


dog = Dog()
say(dog)  # 汪~ 汪~ 汪~
cat = Cat()
say(cat)  # 喵~ 喵~ 喵~

评论