多态 python 天生支援多态
def func(int num,str name):
pass
func('alex',2)
class Payment:pass
class Alipay():
def pay(self,money):
print('已經用支付寶支付了%s元' % money)
class Applepay():
def pay(self,money):
print('已經用applepay支付了%s元' % money)
def pay(pay_obj,money): # 統一支付入口 歸一化設計
pay_obj.pay(money)
pay()
什麼是多态
python 動态強類型的語言
鴨子類型
list tuple
不崇尚根據繼承所得來的相似
我隻是自己實作我自己的代碼就可以了。
如果兩個類剛好相似,并不産生父類的子類的兄弟關系,而是鴨子類型
list tuple 這種相似,是自己寫代碼的時候限制的,而不是通過父類限制的
優點 : 松耦合 每個相似的類之間都沒有影響
缺點 : 太随意了,隻能靠自覺
class List():
def __len__(self):pass
class Tuple():
def __len__(self):pass
def len(obj):
return obj.__len__()
l = Tuple()
len(l)
#強類型語言 多态
#python 語言 鴨子類型
接口類和抽象類 在python當中的應用點并不是非常必要