Python 多态
我们都知道,Python 是弱类型语言,其最明显的特征是在使用变量时,无需为其指定具体的数据类型。这会导致一种情况,即同一变量可能会被先后赋值不同的类对象,例如:
class C:
def say(self):
print("赋值的是 C类的实例方法")
class Python:
def say(self):
print("赋值的是Python 类的实例方法")
a = C()
a.say()
a = Python()
a.say()
运行结果为:
赋值的是 C 类的实例对象
赋值的是 Python 类的实例对象
可以看到,a 可以被先后赋值为 C 类和 Python 类的对象,但这并不是多态。类的多态特性,还要满足以下 2 个前提条件: