鸭子类型(Python)
什么是鸭子类型(Duck Typing)?鸭子类型可解释为,如果一只动物,走起来像鸭子或者叫起来像鸭子,就可以把它当作鸭子。
python崇尚一种鸭子类型,类与类之间不用共同继承一个父类,只需要将它们做得像一种事物即可。
例如,如果想编写现有对象的自定义版本。
1、可以继承该对象
2、可以创建一个外观和行为像,但与它无任何关系的全新对象(通常用于保存程序组件的松耦合度)
引用自--休耕
对于C++来说,我们要调用某个以类A为参数的函数,则我们传入的类型必须是类A类型,或者是类A的子类类型。但在Python中,却没有这个要求,它只要求我们在函数体中实现部分,在类B中同样也能实现,那么B就能传入函数中。
class Student(object): def run(self): print('BiuBiuBiu Running One!!!') class Infor(object): def run(self): print('BiuBiuBiu Running Two!!!') def runT(Student): Student.run() StuA=Student() runT(StuA) infA=Infor() runT(infA)

可以看到即使函数runT的参数类型为Student,但Infor类型依然可以传入,因为Infor类中也有run函数

浙公网安备 33010602011771号