核心程式設計(七) 物件導向 多型

2021-09-25 18:28:39 字數 1411 閱讀 9145

多型,什麼叫多型?

多型拆開就是多種狀態

什麼是多種狀態呢?

姑娘還有兩副面孔呢┗|`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...