多态
多态:同一个行为用不同的对象获取不同的状态。
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) # 喵~ 喵~ 喵~