python的繼承詳解
1、單繼承:子類隻繼承一個父類
舉例:煎餅果子老師傅在煎餅果子界摸爬滾打幾十年,擁有一身精湛的煎餅果子技術,
並總結瞭一套”古法煎餅果子配方”。 可是老師傅年邁已久,
在嗝屁之前希望把自己的配方傳承下去,於是老師傅把配方傳給他的徒弟大貓…
雖然子類沒有定義__init__方法初始化屬性,也沒有定義實例方法,但是父類有。
所以隻要創建子類的對象,就默認執行瞭那個繼承過來的__init__方法
子類在繼承的時候,在定義類時,小括號()中為父類的名字 父類的屬性、方法,會被繼承給子類
2、多繼承:子類繼承多個父類
大貓掌握瞭師傅的配方,可以制作古法煎餅果子,
但是大貓是個愛學習的好孩子,他希望學到更多的煎餅果子的做法,
於是通過百度搜索,找到瞭一傢煎餅果子培訓學校。
多繼承可以繼承多個父類,也繼承瞭所有父類的屬性和方法。
註意:如果多個父類中有同名的 屬性和方法,則默認使用第一個父類的屬性和方法(根據類的魔法屬性mro的順序來查找) 多個父類中,不重名的屬性和方法,不會有任何影響。
3、子類重寫父類的同名屬性和方法
大貓掌握瞭 師傅的配方 和 學校的配方,通過研究,大貓在兩個配方的基礎上,創建瞭一種全新的煎餅果子配方,稱之為 “貓氏煎餅果子配方”。
大貓的新配方大受歡迎,但是有些顧客希望也能吃到古法配方和 現代配方 的煎餅果子…(子類調用父類的同名屬性和方法)
4、子類調用父類同名屬性和方法
無論何時何地,self都表示是子類的對象。在調用父類方法時,通過傳遞self參數,來控制方法和屬性的訪問修改。
5、
大貓的煎餅果子店非常紅火,終於有一天,他成瞭世界首富!! 但是他也老瞭,所以他希望把 師傅的配方 和 學校的配方 以及自己的配方 繼續傳承下去…
6、調用父類方法super()
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- python中super()函數的理解與基本使用
- Python中super()的理解以及應用場景實例
- Python編程super應用場景及示例解析
- python中super().__init__()的用法
- Python中super().__init__()測試以及理解