我們都知道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成員可以在類(lèi)外直接訪問(wèn)。
(2)protected和private成員在類(lèi)外(在此將這兩種限定符都可以看成是私有的,在繼承出區(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)類(lèi)外:即脫離了類(lèi)的作用域或者說(shuō)訪問(wèn)時(shí)不在類(lèi)的成員函數(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)注
126文章
7873瀏覽量
142893 -
C++
+關(guān)注
關(guān)注
22文章
2108瀏覽量
73618
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論