多态

多态

传入不同的对象,产生不同的结果

多态指的是一类事物有多种形态(一个抽象类有多个子类,因而多态的概念依赖于继承)。Python中最好依赖继承

class Dog(object):
	def work(self): # 父类提供统一的方法,哪怕是空方法
		print('指哪打哪...')

class ArmyDog(Dog):
	def work(self):
		print('追击敌人...')

class DrugDog(Dog):
	def work(self):
		print('追查毒品...')

class Person(object):
	def work_with_dog(self, dog): # 传入不同对象,执行不同的代码,即不同的work函数
		dog.work()

ad = ArmyDog()
dd = DrugDog()

daqiu = Person()
daqiu.work_with_dog(ad) # 追击敌人...
daqiu.work_with_dog(dd) # 追查毒品...