一、什么是多态?
多态:一种事物有多重形态(如:救护车出发,医生护士是救人操作,伤者是等待被救操作,虽然两个人听到身影都是一样的,但是执行的效果不一样。)
1 import abc 2 class Animal(metaclass=abc.ABCMeta):#同一类事物:动物 3 @abc.abstractstaticmethod 4 def talk(self): 5 pass 6 7 class People(Animal):#人 8 def talk(self): 9 print('say hello')10 11 class Dog(Animal):#狗12 def talk(self):13 print('say wawa')14 15 class Pig(Animal):#猪16 def talk(self):17 print('say o o ')
二、鸭子类型
python崇尚鸭子类型,即‘如果看起来像,叫声像而且走起路来像鸭子,那么它就是鸭子’
python程序员通常根据这种行为来编写程序。例如:如果想编写现有对象的自定义版本,可以继承该对象也可以创建一个外观和行为像,但与它无任何关系的全新对象,后者通常用于保存程序组件的松耦合度。