鸭子类型与多态

鸭子模型

多态概念适用于JAVA与C#这一类强类型语言中,而python崇尚鸭子模型。

动态语言调用实例时不检查类型,只要方法存在,参数正确,就可以调用,这就是”鸭子类型”,它并不要求严格的继承体系,一个对象只要”看起来想鸭子,走起路来像鸭子”,就可以看作鸭子。

多态

定义时的类型和运行时的类型不一样,就称为多态。

抽象基类(abc模块)

抽象基类介绍

抽象基类:是类里定义纯虚成员函数的类,纯虚函数只提供接口,并没有具体实现,抽象基类不能被实例化(不能创建对象),通常作为基类提供类继承,子类重写虚函数,实现具体的接口

抽象基类就是定义各种方式而不做具体实现的类,任何继承自抽象基类的类必须实现这些方法,否则无法实例化