在强类型语言(例如Java或C#)中,多态是指允许使用一个父类类型的变量或常量来引用一个子类类型的对象,根据被引用子类对象特征的不同,得到不同的运行结果。即使用父类的类型来调用子类的方法。
在Python中,多态指在不考虑对象类型的情况下使用对象。相比于强类型,Python更推崇“鸭子类型”。“鸭子类型”是这样推断的:如果一只生物走起路来像鸭子,游泳起来像鸭子,叫起来也像鸭子,那么它就可以当做鸭子。也就是说,它不关注对象的类型,而是关注对象具有的行为。
例12-7 多态.py
# 定义一个表示动物的类
class Animal(object):
def shout(self): # 叫的方法
print("--Animal--shout--")
# 定义一个表示狗的类,继承自动物类
class Dog(Animal):
def shout