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