1、面向对象三大特征之多态:spa
1.多态与多态性:对象
多态:一类事物有多重形态,如动物:人类、狗类、猪类继承
多态动态绑定:在继承的背景下使用时,有时称为多态性。指的是同一个方法,在不一样的类中(被不一样的对象调用时)呈现出不一样的效果。class
好比:老师.下课铃响了(),学生.下课铃响了(),老师执行的是下班操做,学生执行的是放学操做,虽然两者消息同样,可是执行的效果不一样。变量
多态性是指在不考虑实例类型的状况下使用实例。引用
2.多态性分为:方法
静态多态性:装饰器
动态多态性:消息
对不一样类的对象使用一样的操做,返回的结果是不一样的。ab
多态意味着就算不知道变量所引用的对象类是什么,仍是能对它进行操做,而它也会根据对象(或类)类型的不一样而表现出不一样的行为。
如何实现多态:
两种方式:
1.使用继承的方式,而且导入abc模块:
在父类中指明父类继承元类meatclass=abc.ABCMeat,而且在被使用的相同方法上面添加装饰器@abstractmethod,代表该子类中必须定义这种同名方法,不然报错。
形态像鸭子,走路像鸭子。。行为像鸭子的称为鸭子类型,即多个类中的方法都相似,就叫鸭子类型。即都包含相同方法名。