C 的三大特性 封裝 繼承和多型性的詳解

2022-03-28 02:38:01 字數 1312 閱讀 2267

封裝

所謂封裝就是將某些東西包裝盒隱藏起來,讓外界無法直接使用,只能通過某些特定的方式才能訪問。封裝的目的是增強安全性和簡化程式設計,使用者不必了解具體的實現細節,而只是通過外部介面以及特定的訪問許可權來使用類的成員。

例如,下例中時乙個動物類,我們把資料和功能封裝起來。

1

class

animal

2;

我們可以通過封裝使一部分成員充當類與外部的介面,而將其它的成員隱藏起來,這樣就限制了外部對成員的訪問,也使不同類之間的相互影響度降低

多型

多型可以使我們以相同的方式處理不同型別的物件,我們可以使用一段**處理不同型別的物件,只要他們繼承/實現了相同的型別。這樣我們沒有必要為每一種型別的物件編寫相同的邏輯,極大的提高了**的重用。其實,用簡單的一句話來形容就是:多型性,允許將子類型別的指標賦值給父類型別的指標,多型性在c++中是通過虛函式實現的。虛函式就是允許被其子類重新定義的成員函式。而子類重新定義父類虛函式的做法,稱為「覆蓋」,或者稱為「重寫」。子類重寫父類中虛函式時,即使不用virtual宣告,該過載函式也是虛函式。

1 #include "

stdafx.h

"2 #include 3 #include 4

using

namespace

std; 56

class

father713

14virtual

void

say()

1518

};19

2021

class son:public

father

2228

};29

30void

main()

31

猜猜此時的輸出結果是什麼?對於剛開始學習c++語言的童鞋來說:可能認為輸出的是"father say hello"

輸出的結果為:

繼承

繼承是物件導向的乙個重要概念,如果乙個類b繼承自另乙個類a,就把這個類b稱為「a的子類」,而把a稱為「b的父類」。繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的**,在令子類繼承父類的同時,可以重新定義某些屬性,並重新某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。

繼承是指乙個物件直接使用另乙個物件的屬性和方法,事實上我們遇到的很多事物都有繼承的含義,例如,若把動物看做乙個實體,他可以分成很多個子實體,如:貓、狗、雞等等,這些字實體都具有動物的特性,因此,動物是它們的「父親」,而這些子實體則是動物的「孩子」。

C 的三大特性 封裝 繼承 多型

多型的這個概念稍微有點模糊,如果想在一開始就想用清晰用語言描述它,讓讀者能夠明白,似乎不太現實,所以我們先看如下 例程 include using namespace std class vehicle void showmember void showmember virtual void sho...

C 類和物件特性(繼承性,封裝性,多型性)

基類 派生類定義及其基本定義 當建立乙個新的類時,可以指定它繼承已有的類的成員。這兩個類分別被稱為基類,派生類。繼承,就是將基類中public和protected中的成員,全部或分別,繼承到派生類中的private protected public中,單個或多個部分中 派生類可以從乙個或多個基類繼承...

C 三大特性 封裝,繼承,多型

c 三大特性 封裝,繼承,多型 封裝 定義 封裝就是將抽象得到的資料和行為相結合,形成乙個有機的整體,也就是將資料與運算元據的源 進行有機的結合,形成類,其中資料和函式都是類的成員,目的在於將物件的使用者和設計者分開,以提高軟體的可維護性和可修改性 特性 1.結合性,即是將屬性和方法結合 2.資訊隱...