什么是Python/ target=_blank class=infotextkey>Python類的多態
python的多態,可以為不同的類實例,或者說不同的數據處理方式,提供統一的接口。
用比喻的方式理解python類的多態
比如,同一個蘋果(統一的接口)在孩子的眼里(類實例)可能就是食物(數據處理的方式),在攝影師的眼里可能是個非常不錯的素材,在商人的眼里可能就是一個商機了,等等。這就是python的多態!
python多態實例
下面我們將這個比喻抽象成python代碼,進一步來理解python的多態!
class WorldOutlook():
def world_outlook(self):
print('蘋果是一種植物果實')
class child(WorldOutlook):
def world_outlook(self):
print('這是蘋果,一種好吃的東西!')
class photographer(WorldOutlook):
def world_outlook(self):
print('這個蘋果真是一個不錯的攝影素材!')
class businessman(WorldOutlook):
def world_outlook(self):
print('這蘋果賣相不錯,應該多進一點貨來賣!')
c = child()
p = photographer()
b = businessman()
c.world_outlook()
p.world_outlook()
b.world_outlook()
————————————————————————————————————
代碼輸出:
這是蘋果,一種好吃的東西!
這個蘋果真是一個不錯的攝影素材!
這蘋果賣相不錯,應該多進一點貨來賣!
代碼解析
如上代碼,可見,統一的world_outlook()接口,實現了不同的數據(函數)處理模式,這就是多態。這是不是有一種很熟悉的感覺,對的,就是類的繼承,也完全符合類由內而外、先到先得的繼承機制。
更多關于python類多態的作用、理解方式,以及更多的python教程
可以參考下面的內容:
python類的多態,通俗易懂的多態世界觀實例 - 大器編程