多态,指的是:多种状态,即完成某个行为时,使用不同的对象会得到不同的状态。
同样的行为(函数),传入不同的对象,得到不同的状态
- class Animal:
- def speak(self):
- pass
-
-
- class Dog(Animal):
- def speak(self):
- print("汪汪汪")
-
-
- class Cat(Animal):
- def speak(self):
- print("喵喵喵")
-
-
- def make_noise(animal: Animal):
- """制造点噪音,需要传入Animal对象"""
- animal.speak()

多态常作用在继承关系上,比如函数(方法)形参声明接收父类对象,实际传入父类的子类对象进行工作,即以父类做定义声明、以子类做实际工作,用以获得同一行为, 不同状态。
什么是抽象类(接口)?
包含抽象方法的类,称之为抽象类。抽象方法是指:没有具体实现的方法(pass)称之为抽象方法
抽象类的作用?
多用于做顶层设计(设计标准),以便子类做具体实现。
也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法
并配合多态使用,获得不同的工作状态。
抽象类就好比定义一个标准,包含了一些抽象的方法,要求子类必须实现。

- class AC:
- def cool_wind(self):
- """制冷"""
- pass
- def hot_wind(self):
- """制热"""
- pass
- def swing_l_r(self):
- """左右摆风"""
- pass
-
- class Midea_AC(AC):
- def cool_wind(self):
- print("美的空调核心制冷科技")
-
- def hot_wind(self):
- print("美的空调电热丝加热")
-
- def swing_l_r(self):
- print("美的空调无风感左右摆风")
-
- class GREE_AC(AC):
- def cool_wind(self):
- print("格力空调变频省电制冷")
-
- def hot_wind(self):
- print("格力空调电热丝加热")
-
- def swing_l_r(self):
- print("格力空调静音左右摆风")
