Python基礎(chǔ)入門教程25:企業(yè)級開發(fā)基礎(chǔ)6 面向?qū)ο筇卣鳎ɡ^承)
來源:
奇酷教育 發(fā)表于:
面向?qū)ο蟪绦蛟O(shè)計最主要的有三個特征:封裝、繼承、多態(tài)本節(jié)內(nèi)容主要講解面向?qū)ο蟮牡谝粋€特征:繼承1 繼承的意義繼承是讓我們抽象的對象
面向?qū)ο蟪绦蛟O(shè)計最主要的有三個特征:封裝、繼承、多態(tài)
本節(jié)內(nèi)容主要講解面向?qū)ο蟮牡谝粋€特征:繼承
1 繼承的意義
繼承是讓我們抽象的對象之間存在一定的所屬關(guān)系
在繼承關(guān)系中,我們一定要明確會出現(xiàn)這樣的一種關(guān)系~父類、子類,子類繼承自父類,可以繼承父類中的公開的屬性和方法(不能繼承私有的屬性或者方法)
其實我們在前面定義對象的時候已經(jīng)使用過了繼承,python中所有的對象都是直接或者間接繼承自object對象的
我們可以看到,在自定義類Man和Women中,只是簡單定義了一個init方法,沒有其他的代碼,但是我們創(chuàng)建的Man類型的對象和Women類型的對象,卻可以使用父類Person中定義的方法get_gender()以及其他,在一定程度上,簡化了我們的開發(fā),同時提高了程序的擴展性
2. 繼承中類型的關(guān)系
繼承是類型之間的關(guān)系:繼承中,首先必須是兩個或者兩個以上的類型之間的關(guān)系,注意是類型之間的關(guān)系
繼承中的父類和子類:被繼承的稱為父類,實現(xiàn)繼承的稱為子類,子類繼承自父類,實現(xiàn)的是一種A is a B的關(guān)系
如:貓是一種類型,繼承自動物這種類型,反映出來的是貓這種類型可以具備動物具備的屬性和行為,同時貓是一種動物。(切記,A繼承B反映的是A is a B的關(guān)系,不能反過來,貓是一種動物,不能說動物是貓)
多繼承機制:一個父類可以有多個子類,一個子類同樣也可以有多個父類
某些情況下,我們生活中會出現(xiàn)這樣的情況,一個小孩既是父親的兒子,要具備兒子應(yīng)該具備的功能,同時也是一個學(xué)生要具備學(xué)生應(yīng)該具備的功能,此時就需要使用Python中的多繼承來實現(xiàn)了
數(shù)據(jù)繼承和訪問,在python的繼承機制中,私有的屬性是不允許被繼承和互相訪問的,子類不能繼承和訪問父類中私有的屬性和方法,父類同樣也不能訪問子類中私有的屬性和方法
子類只能繼承父類中公開的屬性和方法
子類中可以通過父類的名稱或者super()來訪問父類的屬性和方法
3. 繼承時的方法重寫(方法覆蓋)
在子類繼承自父類之后,可以直接使用父類中定義的公開的方法進行操作
>>>更多VR/AR入門教程:VR入門