封裝 繼承 多型

2021-10-02 19:14:52 字數 1098 閱讀 9202

將物件的屬性方法進行隱藏,只對特定的物件提供訪問許可權,通過許可權修飾符,方法的引數隱藏來實現隱藏具體的實現過程,從而達到保護資料隱私,計算思維中有乙個重要的概念是抽象,即忽略具體,關注重點,這個思想在封裝中也有體現, 在介面的定義和實現方式,也有封裝的思想,將具體的方法實現進行封裝,對外只提供方法的定義,實現了對具體操作的隱藏。

簡單的理解就是以現有類為基礎,複製它,然後通過新增和修改這個副本來建立新類。繼承現有型別時,子類擁有父類的所有成員,更重要的是子類複製了基類的介面,即所有可以傳送給基類物件的訊息同時也可以傳送給匯出類物件,子類的確繼承了父類的所有屬性和方法,因為許可權修飾符的關係,訪問也有一些限制;

子類和基類之間的關係:

is-a:當繼承只覆蓋基類的方法的時候,意味著他們子類和基類是完全相同的型別,子類可以完全替代乙個基類,這種視為純粹替代,這種情況下的基類與子類的關係為is-a(是乙個)關係。

is-like-a:當需要在子類中擴充套件基類沒有的屬性或者方法的時候,這個子類仍然可以替代基類,但這種替代並不完美,因為在基類無法訪問新新增的方法,所以這種情況下的基類和子類的關係為is-like-a(像乙個)關係。

向上轉型:

物件可以作為它自己本身的型別引用,也可以作為它的基型別的引用,即把這個某個物件的引用視為對其基類的引用的做法稱作向上轉型。

首先多型是建立在繼承的基礎上的,對於使用基類的型別,而在例項化的使用子類的型別,對於方法的呼叫,編譯器是如何來判斷是呼叫基類的方法還是子類的方法?根據方法呼叫繫結。將乙個方法呼叫和同乙個方法的主體關聯起來被稱作繫結,這在程式執行前進行繫結,叫做前期繫結,這個是不需要選擇就預設的繫結方式。後期繫結,即在執行時根據物件的實際呼叫來進行繫結,後期繫結也叫動態繫結或執行時繫結。注:除了static方法和final方法之外,其他的所有方法都是後期繫結。

構造器和多型:

基類的構造器總是在子類的構造過程中被呼叫,而且是按照繼承層次逐漸向上鏈結,以使每個基類的構造器都可以得到呼叫,因為只有基類的構造器具有恰當的知識和許可權來對自己的元素進行初始化,因此必須令所有的構造器都得到呼叫,才可以正確的構造完成的物件,在構造的過程中,如果沒有明確的指定呼叫的某個基類的構造器,就會默默的呼叫預設構造器。

封裝,繼承,多型

一 1 封裝 該隱藏隱藏,該公開的公開 屬性隱藏,同時提供get set方法 有些方法應該隱藏 方法宣告公開,實現隱藏。實現的改變對架構的影響最小 2 繼承 一般 特殊 單繼承 乙個類最多只能有乙個直接父類。類之間可以形成樹狀關係 根據訪問許可權,子類如果可以訪問父類的屬性和方法,就能繼承 priv...

繼承 封裝 多型

一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...

封裝 繼承 多型

一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...