Python學習筆記 多型

2021-10-05 07:29:18 字數 824 閱讀 2427

多型指的是同乙個方法呼叫,由於物件不同可能會產生不同的行為

比如都是人, 人.china 筷子 人.india 手抓飯

注意兩點 1.多型是方法的多型,屬性沒有多型

2.多型的存在有兩個必要條件 繼承、方法重寫

class

man:

defeat

(self)

:print

("餓了,吃飯了"

)class

chinese

(man)

:def

eat(self)

:print

("用筷子吃飯"

)class

english

(man)

:def

eat(self)

:print

("用刀叉吃飯"

)class

indian

(man)

:def

eat(self)

:print

("徒手吃飯"

)def

maneat

(m):

ifisinstance

(m,man)

:#如果m是man的子類

m.eat(

)else

:print

("不能吃飯"

)#乙個方法呼叫,結果不同

maneat(chinese())

maneat(english(

))

執行結果

用筷子吃飯

用刀叉吃飯

Python學習筆記 多型

物件導向三大特性 1.封裝 根據職責將屬性和方法封裝到乙個抽象的類中 定義類的準則 2.繼承 實現 的重用,相同的 不需要重複的編寫 設計類的技巧 子類針對自己特有的需求,編寫特定的 3.多型 不同的子類物件 呼叫相同的父類方法,產生不同的執行結果 多型 可以增加 的靈活度 以繼承和重寫父類方法為前...

python學習筆記 繼承和多型

程式設計中的繼承和多型其實跟生物學中的遺傳非常類似。例如兒子與父親相比較,有很多相同的地方,那麼這就是遺傳 但是父子間也有很多不一樣的地方,那麼這就是變異,也就是多型。python中的student類繼承了people類中的所有方法和屬性,那麼就有了people所有的屬性和方法。當然student也...

python類的多型學習筆記

1.重寫 多型這個概念依賴於繼承,因為繼承,使得子類擁有了父類的方法,這裡就產生了乙個問題,如果子類有乙個方法和父類的方法同名,那麼子類在呼叫這個方法時,究竟是呼叫子類自己的方法還是父類的方法呢?class base def print self print base class a base de...