物件導向三大特性
封裝根據職責將屬性和方法封裝到乙個抽象的類中
繼承實現**的重用,相同的**不需要重複的編寫
多型不同的物件呼叫相同的方法,產生不同的執行結果,增加**的靈活度
1) 繼承的語法
class 類名(父類名)
:pass
2) 專業術語
3) 繼承的傳遞性
子類擁有父類以及父類的父類中封裝的所有屬性和方法
重寫父類方法有兩種情況:
覆蓋父類的方法
對父類方法進行擴充套件
1) 覆蓋父類的方法
具體的實現方式,就相當於在子類中定義了乙個和父類同名的方法並且實現重寫之後,在執行時,只會呼叫子類中重寫的方法,而不再會呼叫父類封裝的方法
2) 對父類方法進行擴充套件
在子類中重寫父類的方法
在需要的位置使用super().父類方法
來呼叫父類方法的執行
**其他的位置針對子類的需求,編寫子類特有的**實現
關於super
呼叫父類方法的另外一種方式(知道)
在python 2.x
時,如果需要呼叫父類的方法,還可以使用以下方式:
父類名.方法(self)
概念
語法
class 子類名(父類名1
, 父類名2..
.)pass
python 中的 mro —— 方法搜尋順序print
(c.__mro__)
輸出結果
(, , , )
object
是python
為所有物件提供的基類,提供有一些內建的屬性和方法,可以使用dir
函式檢視
在python 3.x
中定義類時,如果沒有指定父類,會預設使用object
作為該類的基類——python 3.x
中定義的類都是新式類
在python 2.x
中定義類時,如果沒有指定父類,則不會以object
作為基類
新式類和經典類在多繼承時 ——會影響到方法的搜尋順序為了保證編寫的**能夠同時在
python 2.x
和python 3.x
執行!
今後在定義類時,如果沒有父類,建議統一繼承自object
class 類名(
object):
pass
物件導向程式設計 繼承
繼承是物件導向程式設計的主要特點之一。繼承,顧名思義就是子繼承父的所有。在面向程式設計中繼承的意思並沒變,子類繼承父類所擁有的屬性 方法。使用extends關鍵字使子類繼承父類,子類就可以自動復用父類的方法了 私有方法除外 並且繼承了父類的所有屬性。在子類例項化過程中子類的構造方法一定會去呼叫父類的...
物件導向程式設計 繼承
一 簡介 1 繼承是軟體復用的一種方式,通過繼承,可以吸收現有類的資料和行為來建立新類,並增添新的效能增類。2 派生類顯示繼承的基類稱為直接基類,經兩級或者多級類層次繼承的類稱為間接基類。3 繼承的方式 public private protected 4 派生類一般不能直接訪問基類的private...
python 面向繼承物件 繼承
1.python物件導向的繼承指的是多個類之間的所屬關係,即預設繼承父類的所有屬性和方法。2.注意 當乙個類有多個父類的時候,預設使用第乙個父類的同名屬性和方法。3.檢視某個類的繼承關係 物件.mro 4.子類呼叫父類的同名方法和屬性 class a object definit self self...