多态性: 同一个对象. 多种形态.
python支持的是鸭子类型. 会嘎嘎叫的东西就是鸭子
为了程序能够正常执行. 本来需要传递进来一只鸭子. 但是我只需要传递一个会嘎嘎叫的东西就可以了
def func(yazi):
yazi.gagajiao()
class Animal:
def chi(self):
print("会吃")
class GoldenMonkey(Animal):
def chi(self):
print("用手拿着吃, 五花八门")
class Tiger(Animal):
def chi(self):
print("老虎吃肉")
class Elephant(Animal):
def chi(self):
print("大象吃香蕉")
class QiE(Animal):
def chi(self):
print("企鹅吃人民币")
# 以下代码是饲养员
# 优点:超强的可扩展性. 面向对象的核心就是多态
def wei_animal(ani): # 传进来的东西要会吃就行
ani.chi()
# 动物园
t = Tiger()
m = GoldenMonkey()
e = Elephant()
wei_animal(t)
wei_animal(m)
wei_animal(e)
a = 188
def cul(n): # python中万事万物都是对象, object(对象)
print(n)
cul(a)
cul("哈哈")