封裝性是基礎,繼承性是關鍵,多型性是補充,並且多型性存在於繼承的環境中。
封裝性c++語言中支援資料封裝,類是支援資料封裝的工具,物件是資料封裝的實現。在封裝中,還提供一種對資料訪問的控制機制,使得一些資料被隱藏在封裝體內,因此具有隱藏性。封裝體與外界進行資訊交換是通過操作介面進行的。這種訪問控制機制體現在類的成員可以有公有成員(public),私有成員(private),保護成員(protected)。
私有成員是在封裝體內被隱藏的部分,只有類體內說明的函式(類的成員函式)才可以訪問私有成員,而在類體外的函式時不能訪問的,公有成員是封裝體與外界的乙個介面,類體外的函式可以訪問公有成員,保護成員是只有該類的成員函式和該類的派生類才可以訪問的。
類是一種複雜的資料型別它是將不同型別的資料和與這些資料相關的操作封裝在一起的集合體。因此,類具有對資料的抽象性,隱藏性和封裝性。
繼承性c++語言允許單繼承和多繼承。繼承是物件導向語言的重要特性。乙個類可以根據需要生成它的派生類,派生類還可以再生成派生類。派生類繼承基類的成員,另外,還可以定義自己的成員。繼承是實現抽象和共享的一種機制。
c++語言中的繼承機制可以克服傳統的面向過程程式設計的缺點,因為傳統程式設計方式不能重複使用程式而造成資源的浪費,而c++語言提供了無限重複利用程式資源的一種新途徑。
多型性多型性是指對不同類的物件發出相同的訊息將會有不同的實現。多型性也可以理解為,在一般類中定義的屬性或服務被特殊類繼承後,可以具有不同的資料型別或不同的實現。可見,多型性與繼承性相關聯。簡單的說,多型性是指發出同樣的訊息被不同的資料型別的物件接收後導致不同的行為。
c++語言支援多型性表現在:
1,c++語言允許函式過載和運算子過載。
2,c++語言通過定義虛函式來支援動態聯編,動態聯編是多型性的乙個重要的特徵。
多型特性的工作依賴虛函式的定義,在需要解決多型問題的過載成員函式前,加上virtual關鍵字,那麼該成員函式就變成了虛函式,從上例**執行的結果看,系統成功的分辨出了物件的真實型別,成功的呼叫了各自的過載成員函式。
加粗樣式多型特性讓程式設計師省去了細節的考慮,提高了開發效率,使**大大的簡化,當然虛函式的定義也是有缺陷的,因為多型特性增加了一些資料儲存和執行指令的開銷,所以能不用多型最好不用。
C 三大特性
過載 不同函式具有相同的函式名,但是他們的的引數型別或者引數個數不同,使用時通過函式的引數來區分呼叫 在同乙個域類 覆蓋 在基類和派生類中,派生類中的函式對基類中同名同引數的虛函式重新實現 在不同的類中 隱藏 派生類函式把基類中同名函式遮蔽了,不帶virtual或者同名不同參 在不同的類中 虛函式的...
C 三大特性
何為抽象類 1.在c 中,含有純虛函式的類稱為抽象類,它不能生成物件,且不能例項化物件,但是可以例項化指標 2.純虛函式 virtual void lock 0 若沒有 0,則為乙個虛函式 3.例項化 在物件導向的程式設計中,把用 類建立物件的過程 稱為例項化 將乙個抽象的概念類,具體到該類實物的過...
c 三大特性
所謂封裝就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏.封裝是物件導向的特徵之一,是物件和類概念的主要特性.簡單的說,乙個類就是乙個封裝了資料以及操作這些資料的 的邏輯實體。在乙個物件內部,某些 或某些資料可以是私有的,不能被外界訪問。通過...