面向对象三大特征之一多态

一、面向对象三大特征之多态:

1.多态与多态性:

多态:一类事物有多重形态,如动物:人类、狗类、猪类

多态动态绑定:在继承的背景下使用时,有时称为多态性。指的是同一个方法,在不同的类中(被不同的对象调用时)呈现出不同的效果。

比如:老师.下课铃响了(),学生.下课铃响了(),老师执行的是下班操作,学生执行的是放学操作,虽然二者消息一样,但是执行的效果不同

多态性是指在不考虑实例类型的情况下使用实例。

2.多态性分为:

静态多态性:

动态多态性:

对不同类的对象使用同样的操作,返回的结果是不同的。

多态意味着就算不知道变量所引用的对象类是什么,还是能对它进行操作,而它也会根据对象(或类)类型的不同而表现出不同的行为。

如何实现多态:

两种方式:

1.使用继承的方式,并且导入abc模块:

在父类中指明父类继承元类meatclass=abc.ABCMeat,并且在被使用的相同方法上面添加装饰器@abstractmethod,表明该子类中必须定义这种同名方法,否则报错。

  1. 鸭子类型。

形态像鸭子,走路像鸭子。。行为像鸭子的称为鸭子类型,即多个类中的方法都类似,就叫鸭子类型。即都包含相同方法名。

原文地址:https://www.cnblogs.com/yu-931017/p/10151943.html