- # 多态:一种接口,多种实现
- class Animal:
- def __init__(self,name):
- self.name=name
- def talk(self):
- print("Animal can talk")
- # 下处obj代表传入不同的对象,调用对象相同的接口名
- @staticmethod
- def animal_talk(obj):
- obj.talk()
- class Cat(Animal):
- def talk(self):
- print( ‘喵喵‘)
- class Dog(Animal):
- def talk(self):
- print(‘旺旺‘)
- # 需要调用不同对象接口方法,表现不同行为
- d=Dog("大黄")
- d.talk()
- c=Cat("小白")
- c.talk()
- # 下面在animal父类中初始化一个方法,采用一个函数传入不同对象,通过父类调用相同方法实现不同对象的接口
- Animal.animal_talk(c)
- Animal.animal_talk(d)
python-面向对象-多态
原文:http://www.cnblogs.com/zlz-leidaxia/p/7758217.html