python的繼承詳解

1、單繼承:子類隻繼承一個父類

舉例:煎餅果子老師傅在煎餅果子界摸爬滾打幾十年,擁有一身精湛的煎餅果子技術,

並總結瞭一套”古法煎餅果子配方”。 可是老師傅年邁已久,

在嗝屁之前希望把自己的配方傳承下去,於是老師傅把配方傳給他的徒弟大貓…

雖然子類沒有定義__init__方法初始化屬性,也沒有定義實例方法,但是父類有。

所以隻要創建子類的對象,就默認執行瞭那個繼承過來的__init__方法

 子類在繼承的時候,在定義類時,小括號()中為父類的名字 父類的屬性、方法,會被繼承給子類

2、多繼承:子類繼承多個父類

大貓掌握瞭師傅的配方,可以制作古法煎餅果子,

但是大貓是個愛學習的好孩子,他希望學到更多的煎餅果子的做法,

於是通過百度搜索,找到瞭一傢煎餅果子培訓學校。

多繼承可以繼承多個父類,也繼承瞭所有父類的屬性和方法。

 註意:如果多個父類中有同名的 屬性和方法,則默認使用第一個父類的屬性和方法(根據類的魔法屬性mro的順序來查找) 多個父類中,不重名的屬性和方法,不會有任何影響。

3、子類重寫父類的同名屬性和方法

大貓掌握瞭 師傅的配方 和 學校的配方,通過研究,大貓在兩個配方的基礎上,創建瞭一種全新的煎餅果子配方,稱之為 “貓氏煎餅果子配方”。

大貓的新配方大受歡迎,但是有些顧客希望也能吃到古法配方和 現代配方 的煎餅果子…(子類調用父類的同名屬性和方法)

4、子類調用父類同名屬性和方法

無論何時何地,self都表示是子類的對象。在調用父類方法時,通過傳遞self參數,來控制方法和屬性的訪問修改。

5、 

大貓的煎餅果子店非常紅火,終於有一天,他成瞭世界首富!! 但是他也老瞭,所以他希望把 師傅的配方 和 學校的配方 以及自己的配方 繼續傳承下去…

 

6、調用父類方法super()

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: