【python】多态和鸭子类型

多态

面向对象编程的编程思想精髓:封装,继承,多态

在编程语言中,多态是指为不同数据类型的实体提供统一的接口,同一个行为具有多个不同表现形式或形态,比如同一个接口,使用不同的实例会执行不同的操作。

Java中的多态

java中无法实现多继承,java多态的实现方式:

  • 重写
  • 接口
  • 抽象类和抽象方法

鸭子类型

当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子

鸭子类型(duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。

子类对象不由其所继承的父类决定,而是由子类的方法决定。
Python中的魔法函数就是鸭子类型的范例,比如我们实现一个序列类,我们不用继承实现序列的父类对象,而直接实现__getitem__方法即可。

posted @ 2022-07-27 15:38  倒骑驴子  阅读(81)  评论(0)    收藏  举报