多态是为了实现“接口重用”,一个接口,多个实现。
示例:
class Animal(object):
def __init__(self, name):
self.name = name
def talk(self):
pass
@staticmethod
def func(obj): #一个接口,多种形态
obj.talk()
class Cat(Animal):
def talk(self):
print('%s: 喵喵喵!' %self.name)
class Dog(Animal):
def talk(self):
print('%s: 汪!汪!汪!' %self.name)
#def func(obj): #一个接口,多种形态
# obj.talk()
c1 = Cat('cat1')
d1 = Dog('dog1')
#func(c1)
#func(d1)
Animal.func(c1)
Animal.func(c2)