多态: 对象如何通过他们共同的属性和动作来操作及访问,而不需要考虑他们具体的类。
比如:
# 字符串和列表都有__len__方法
ss = "ssssss"
lt = [1,2,3,4,5,6]
print(ss.__len__()) # 等价于调用len()函数, len(ss)
print(lt.__len__()) # 等价于调用len()函数, len(lt)
class Animal:
def __init__(self,name):
self.name = name
def Run(self):
print("%s正在跑"%(self.name))
class Dog(Animal):
pass
class Cat(Animal):
pass
d = Dog("狗")
c = Cat("猫")
# d.Run()
# c.Run()
# 调用Run方法,相当于调用参数的Run方法.
def Run(obj):
obj.Run()
Run(d)
Run(c)