09-04 多态性与鸭子类型
多态与多态性 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪 class Animal : #同一类事物:动物 def talk ( self ) : pass class Cat ( Animal ) : #动物的形态之一:猫 def talk ( self ) : print ( '喵喵喵' ) class Dog ( Animal ) : #动物的形态之二:狗 def talk ( self ) : print ( '汪汪汪' ) class Pig ( Animal ) : #动物的形态之三:猪 def talk ( self ) : print ( '哼哼哼' ) #实例化得到三个对象 >> > cat = Cat ( ) >> > dog = Dog ( ) >> > pig = Pig ( ) 多态性指的是可以在不用考虑对象具体类型的情况下而直接使用对象,这就需要在设计时,把对象的使用方法统一成一种:例如cat、dog、pig都是动物,但凡是动物肯定有talk方法,于是我们可以不用考虑它们三者的具体是什么类型的动物,而直接使用 >> > cat . talk ( ) 喵喵喵 >> > dog . talk ( ) 汪汪汪 >> > pig . talk ( ) 哼哼哼 更进一步,我们可以定义一个统一的接口来使用 >> > def Talk (