多型,什麼叫多型?
多型拆開就是多種狀態
什麼是多種狀態呢?
姑娘還有兩副面孔呢┗|`o′|┛ 嗷~~
怎麼說呢?多種狀態更純粹更現實的來說
就是要對不一樣的物件有不一樣的處理方法
比如說你的電腦裡有乙個wps軟體是吧
當你雙擊乙個pdf檔案,或者雙擊乙個doc檔案的時候
其實都是先開啟wps軟體,然後看看是什麼樣子的資料型別
然後再開啟相應的文件編輯器
物件導向裡 類 也有這個特性
比如我們先定義乙個動物類
然後我想整個動物叫,怎麼說呢?
我傳進來個狗,列印個汪汪汪
我傳進來個貓,列印個喵喵喵
怎麼做?
class dogs(object):
def sound(self):
print("汪汪汪!")
pass
class cats(object):
def sound(self):
print("喵喵喵!")
pass
def animals(animals):
animals.sound()
pass
d = dogs()
c = cats()
animals(d)
animals(c)
汪汪汪!
喵喵喵!
為什麼有多型的這種感覺呢?
是因為這樣就把這個動物叫的方法的口統一了
無論是什麼動物,呼叫方法就是animals
這樣就保證了呼叫的統一
這也就是乙個介面的多種形態
也就是多型
那我們簡單知道了多型之後
我們試試模擬一下這個wps開啟檔案的方式
class pdf(object):
def show(self):
print("開啟了pdf檔案!")
pass
class word(object):
def show(self):
print("開啟了word檔案!")
pass
def open(file):
file.show()
a = pdf()
b = word()
c = pdf()
for i in (a, b, c):
i.show()
開啟了pdf檔案!
開啟了word檔案!
開啟了pdf檔案!
(我覺得,你能看到這個位置,這些**應該不用我再仔細講)
(以後的文章也是,除非重要的需要講的**塊以外,都不會注釋)
*物件導向講完了*
*接下來就是硬貨*
物件導向程式設計 多型
多型 多種狀態 的基本介紹 方法或物件具有多種形態,是物件導向的三大特徵,多型是建立在封裝和繼承的基礎之上的。多型的具體體現 1 方法的多型 2 物件的多型 乙個物件的編譯型別和執行型別可以不一致 編譯型別在定義物件時就確定了不能改變 執行型別是可以改變化的 編譯型別看定義時 號 的左邊,執行型別看...
Python物件導向(七)多型
當子類和父類都存在相同的run 方法時,我們說,子類的run 覆蓋了父類的run 在 執行的時候,總是會呼叫子類的run 這樣,我們就獲得了繼承的另乙個好處 多型。a list a是list型別 b animal b是animal型別 c dog c是dog型別 判斷乙個變數是否是某個型別可以用is...
c 物件導向程式設計 多型
多型 即指多個不同的類對同乙個方法的不同實現。多型允許子類對從父類繼承的方法進行重新實現 多型的使用在c 中,子類使用new關鍵字來隱藏父類成員,通過方法的隱藏和方法的重寫實現多型。第一種方法的隱藏 實際呼叫父類方法 定義人類,包含工作方法 class person 定義醫生類和程式設計師類 cla...