C++的三大特性:封装,继承,多态
封裝,繼承,多態
封裝可以隱藏實現細節,使得代碼模塊化
繼承可以擴展已存在的模塊,它們目的都是為了:代碼重用。
多態是為了實現另一個目的:接口重用。
?
什么是多態?
? ? ?eg:開門,開窗戶,開電腦,這里“開”就是多態。
? ? ?多態性可以簡單概括為“一個接口,多種實現”,是通過虛函數實現的。基類提供一個虛接口,其派生類重寫這個接口,這樣就構成了多態。
?
面向對象———封裝(特性之一)
?封裝是面向對象的特征之一,是對象和類概念的主要特性。封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。一旦定義了一個對象的特性,則有必要決定這些特性的可見性,即哪些特性對外部世界是可見的,哪些特性用于表示內部狀態。在這個階段定義對象的接口。通常,應禁止直接訪問一個對象的實際表示,而應通過操作接口訪問對象,這稱為信息隱藏。事實上,信息隱藏是用戶對封裝性的認識,封裝則為信息隱藏提供支持。封裝保證了模塊具有較好的獨立性,使得程序維護修改較為容易。對應用程序的修改僅限于類的內部,因而可以將應用程序修改帶來的影響減少到最低限度。
?
封裝:是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。
封裝好處:
?
1.將變化隔離;
?
2.便于使用。
?
3.提高重用性。
?
4.提高安全性。
?
封裝原則:
?
將不需要對外提供的內容都隱藏起來。
?
把屬性都隱藏,提供公共方法對其訪問。
?
private:關鍵字
?
A:用于修飾成員變量和成員方法。
?
B:被修飾的內容在其他類中是不可以被訪問的。
?
注意:私有僅僅是封裝的一種體現而已。
?
?
面向對象———繼承(特性之二)
?
? ? ? ? ? ? 繼承是一指一個對象從另一個對象獲得功能的過程,它提供了一種明確表述共性的方法。是一個不斷向上抽取的過程
?
例如:所有的Windows應用程序都有一個窗口,它們可以看作都是從一個窗口類派生出來的。但是有的應用程序用于文字處理,有的應用程序用于繪圖,這是由于派生出了不同的子類,各個子類添加了不同的特性。
?
繼承與封裝可以共同作用.如果一個給定的類封裝了某些屬性,它的任何子類將會繼承同樣得屬性,另加各個子類所有得特有屬性。
?
繼承優點:
?
1,提高了代碼的復用性。
?
2,讓類與類之間產生了關系。有了這個關系,才有了多態的特性。
?
面向對象———多態(特性之三)
?
多態簡單說,就是某一類事物多種存在形態。例如,貓對應的類型是貓類型,但同時他也是動物中的一種,也可以把貓稱為動物。又比如,同樣的選擇編輯-粘貼操作,在字處理程序和繪圖程序中有不同的效果。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數擴展性。
?
1,多態的體現
?
父類的引用指向了自己的子類對象。
?
父類的引用也可以接收自己的子類對象。
?
2,多態的前提
?
必須是類與類之間有關系。要么繼承,要么實現。
?
通常還有一個前提:存在覆蓋。
?
3,多態的好處
?
多態的出現大大的提高程序的擴展性。
?
4,多態的弊端
?
提高了擴展性,但是只能使用父類的引用訪問父類中的成員。
總結
以上是生活随笔為你收集整理的C++的三大特性:封装,继承,多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中在什么时候需要使用“常引用”?
- 下一篇: 软件设计应该遵循的基本原则有哪些?