【python】多态和鸭子类型
多态
面向对象编程的编程思想精髓:封装,继承,多态
在编程语言中,多态是指为不同数据类型的实体提供统一的接口,同一个行为具有多个不同表现形式或形态,比如同一个接口,使用不同的实例会执行不同的操作。
Java中的多态
java中无法实现多继承,java多态的实现方式:
- 重写
- 接口
- 抽象类和抽象方法
鸭子类型
当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子
鸭子类型(duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。
子类对象不由其所继承的父类决定,而是由子类的方法决定。
Python中的魔法函数就是鸭子类型的范例,比如我们实现一个序列类,我们不用继承实现序列的父类对象,而直接实现__getitem__方法即可。

浙公网安备 33010602011771号