Time will tell.
一、多态的介绍
-
同类对象的多种形态,一个接口多种实现。以封装和继承为前提,不同的子类调用相同的方法,产生不同的结果。
-
增加了程序的灵活性。以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)。
-
增加了程序额可扩展性。通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用。
二、多态的特点
-
只关心对象的实例方法是否同名,不关心对象所属的类型;
-
对象所属的类之间,继承关系可有可无;
-
多态的好处可以增加代码的外部调用灵活度,让代码更加通用,兼容性比较强;
-
多态是调用方法的技巧,不会影响到类的内部设计。
三、对象所属的类之间有继承关系
class Animal(object):
def __init__(self,name):
self.name=name
def talk(self):
print("Animal类的talk方法")
@staticmethod
def animal_talk(obj): #动物叫的接口
obj.talk()
class Cat(Animal):
def talk(self):
print("%s 喵喵叫"%self.name)
class Dog(Animal):