多態是爲了實現“接口重用”,一個接口,多個實現。
示例:
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)