- 什么是多态
在不考虑实例类型的情况下使用实例
- 例子
peo=People()dog=Dog()pig=Pig()def func(obj): obj.talk()func(pig)
- 鸭子类型
#如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子,嘿嘿在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。例如,在不使用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为鸭的对象,并调用它的走和叫方法。优点:松耦合,每个相似类之间没有影响缺点:太随意,没有规范
- 鸭子类型例子
#二者看起来都像文件,因而就可以当文件一样去用class TxtFile: def read(self): pass def write(self): passclass DiskFile: def read(self): pass def write(self): pass