我們都知道C++有三大特性:封裝、繼承、多態(tài),之前我總結(jié)過(guò)繼承的知識(shí)點(diǎn),現(xiàn)在來(lái)總結(jié)一下封裝的相關(guān)知識(shí)!
一、什么是封裝?
封裝:隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開(kāi)接口和對(duì)象進(jìn)行交互,將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合。
說(shuō)明:
函數(shù)是封裝的一種形式:函數(shù)所執(zhí)行的細(xì)節(jié)行為被封裝在函數(shù)本身這個(gè)更大的實(shí)體中,被封裝的元素隱藏了它們的實(shí)現(xiàn)細(xì)節(jié)–可以調(diào)用一個(gè)函數(shù)但是不能夠訪問(wèn)函數(shù)所執(zhí)行的語(yǔ)句。
訪問(wèn)限定符
(1)public(共有)
(2)protected(保護(hù))
(3)private(私有)
說(shuō)明:
(1)public成員可以在類外直接訪問(wèn)。
(2)protected和private成員在類外(在此將這兩種限定符都可以看成是私有的,在繼承出區(qū)別)不能夠訪問(wèn)。
(3)它們的作用域從該訪問(wèn)限定符出現(xiàn)的位置開(kāi)始直到下一個(gè)訪問(wèn)限定符出現(xiàn)時(shí)為止。
(4)class的默認(rèn)訪問(wèn)權(quán)限是private,而struct為public型(因?yàn)閟truct要兼容C)。C++常用的是class
(5)類外:即脫離了類的作用域或者說(shuō)訪問(wèn)時(shí)不在類的成員函數(shù)中。
因此C++的封裝和函數(shù)有一些不同,它能夠更加靈活的滿足不同對(duì)象調(diào)用的需求,因此封裝相當(dāng)于是class+訪問(wèn)限定符
注意:訪問(wèn)限定符本質(zhì)上是給編譯器使用的,數(shù)據(jù)放在內(nèi)存中是沒(méi)有任何限制的
來(lái)段代碼看看:
-
封裝
+關(guān)注
關(guān)注
128文章
8590瀏覽量
144975 -
C++
+關(guān)注
關(guān)注
22文章
2117瀏覽量
74862
發(fā)布評(píng)論請(qǐng)先 登錄
STM32 C++代碼封裝初探相關(guān)資料推薦
華為內(nèi)部員工C++中級(jí)培訓(xùn)教材

C++C/C++程序設(shè)計(jì)教程_C/C++概述
運(yùn)用Visual C++ 5.0或6.0的高級(jí)編程技巧,內(nèi)容涉及MFC程序設(shè)計(jì)的最新概念

基于STM32F4的 C++封裝(完整代碼)

Visual C++教程之C++的基礎(chǔ)知識(shí)介紹

C++:重載、重定義和重寫的概念和區(qū)分
詳談C++特性:多態(tài)的概念分類和實(shí)現(xiàn)原理

STM32 C++編程系列二:STM32 C++代碼封裝初探

C++入門之?dāng)?shù)組的概念
利用C++提供的隊(duì)列封裝一個(gè)消息隊(duì)列

c++入門后如何進(jìn)階

評(píng)論