C 學習筆記(5) 封裝 繼承 多型

2021-04-18 07:56:02 字數 847 閱讀 5167

封裝

每個物件都能包含它能進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來完成自己的操作。

封裝的好處 l 

良好的封裝能夠減少耦合。 l 

類內部的實現可以自由地修改。 l 

類具有清晰的對外介面。 繼承

物件的繼承代表了一種「is - a」的關係,如果兩個物件a和b,可以描述為「b是a」,則表明b可以繼承a。豬是動物,就說明了豬和動物之間是繼承與被繼承的關係。繼承者是對被繼承者的特殊化,因為它除了被繼承的特性之外,還具備了自己獨有的特性。

繼承中的子類與父類關係 l 

子類擁有父類非private的屬性和方法。 l 

子類具有自己的屬性和方法,即子類可以擴充套件父類沒有的屬性和方法。 l 

子類還可以以自己的方式實現父類的方法(方法重寫

override)

繼承的缺點是破壞包裝,父類的實現細節暴露給子類,增大兩個類的耦合性。 多型

多型表示不同的物件可以執行相同的動作,但要通過自己的實現**來執行。其原理是當方法被呼叫是,無論物件是否被轉換為其父類,都只有位於物件繼承鏈最末端的方法實現會被呼叫。也就是說,虛方法是按照其執行時型別而非編譯時型別進行動態繫結呼叫的。

多型中的子類與父類關係 l 

子類以父類的身份實現。 l 

子類在執行時以自己的**來實現。 l 

子類以父類的身份實現時,子類自己的屬性和方法不能使用。

為了使子類完全接替來自父類的類成員,父類必須講成員宣告為虛擬的。也就是在成員的返回型別之前新增關鍵字virtual來實現。通常虛擬的是方法,但實際上只是除了字段不能虛擬的之外,屬性、事件、和索引器都可以是虛擬的。儘管方法是虛擬的,但虛方法必須有方法體,可以實現某些功能。

C 學習筆記(二) 封裝 繼承 多型

2.繼承 2.4 繼承和訪問修飾符 2.5 黎克特制替換原則 3.多型 封裝 繼承 多型是物件導向的三大特點,而在c 也是不例外,這篇文章將闡述封裝 繼承 多型的用法和思想。封裝,就是將類的屬性和方法封閉起來,外部成員不可直接呼叫,只能通過預留的介面訪問。封裝允許類自身的屬性和方法被一些可信物件操作...

203 07 05 封裝 繼承 多型

繼承 1 oc是單一繼承 2 封裝 隱藏內部 m檔案 實現 穩定外部 h檔案 介面。屬性封裝了例項變數 方法封裝了具體實現 類封裝了方法和屬性 封裝的好處 使用更加簡單,變數更加安全,可以隱藏內部實現細節,開發速度快 3 私有變數 private,私有方法 在.m中實現,在.h中沒有宣告,私有成員變...

C 學習筆記5 封裝 函式總結

1.訪問修飾符 定義乙個類成員的範圍和可見性 a public 所有物件都可以訪問 public 訪問修飾符允許乙個類將其成員變數和成員函式暴露給其他的函式和物件。任何公有成員可以被外部的類訪問。b private 物件本身在物件內部可以訪問 private 訪問修飾符允許乙個類將其成員變數和成員函...