1. 什麼是多型
多型指的是同一種/類事物的不同形態
2.為何要用多型性
1 增加了程式的靈活性
2 增加了程式的可擴張性
多型性:分為靜態多型性和動態多型性
多型性:在多型的背景下,可以在不用考慮物件具體型別的前提下而直接使用物件
多型性的精髓:統一
3. 如何用多型
classpython 崇尚鴨子型別animal:
defspeak(self):
pass
class
people(animal):
defshuo(self):
print('
say hello')
class
dog(animal):
defjiao(self):
print('
汪汪汪'
)class
pig(animal):
defchang(self):
print('
哼哼哼'
)obj1=people()
obj2=dog()
obj3=pig()
#obj1.speak()
#obj2.speak()
#obj3.speak()
defspeak(animal):
animal.speak()
speak(obj1)
speak(obj2)
speak(obj3)
逗比時刻:
python崇尚鴨子型別,即『如果看起來像、叫聲像而且走起路來像鴨子,那麼它就是鴨子』
python程式設計師通常根據這種行為來編寫程式。例如,如果想編寫現有物件的自定義版本,可以繼承該物件
也可以建立乙個外觀和行為像,但與它無任何關係的全新物件,後者通常用於儲存程式元件的松耦合度。
例1:利用標準庫中定義的各種『與檔案類似』的物件,儘管這些物件的工作方式像檔案,但他們沒有繼承內建檔案物件的方法
classview codedisk:
defread(self):
print('
disk read')
defwrite(self):
print('
disk write')
class
memory:
defread(self):
print('
mem read')
defwrite(self):
print('
mem write')
obj1=disk()
obj2=memory()
obj1.read()
obj2.read()
Python 多型與多型性
同一種事務的多種形態 就是多型 車有多種形態,你沒有具體學習某乙個物件,你是學的怎麼開車 這就是多型性 1 增加了程式的靈活性 以不變應萬變,不論物件千變萬化,使用者都是同一種形式去呼叫,如func animal 2 增加了程式可擴充套件性 通過繼承animal類建立了乙個新的類,使用者無需改變自己...
類的多型與多型性
多型是指一類事物有多種形態 class animal def speak self print f 開口說話 動物的形態之一 人 class people animal def speak self print 呵呵呵 動物的形態之二 狗 class duck animal def speak se...
Python多型和多型性
python多型和多型性 python 中的多型是指一類事務有多種形態。比如動物有多種形態,人,狗,貓,等等。import abc class animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod def talk self pass cl...