0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++三大特性:封裝的概念原理

如意 ? 來源:CSDN ? 作者:cherrydreamsover ? 2020-06-29 14:28 ? 次閱讀

我們都知道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)存中是沒有任何限制的

來段代碼看看:

C++三大特性:封裝的概念原理

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 封裝
    +關(guān)注

    關(guān)注

    126

    文章

    7901

    瀏覽量

    142966
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2108

    瀏覽量

    73651
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    c++之STL算法()

    c++之STL算法()
    的頭像 發(fā)表于 07-18 15:00 ?1294次閱讀
    <b class='flag-5'>c++</b>之STL算法(<b class='flag-5'>三</b>)

    STM32 C++代碼封裝初探相關(guān)資料推薦

    一、STM32與面向?qū)ο缶幊躺弦徽轮刑岬搅耍?b class='flag-5'>C++的核心之一就在于面向?qū)ο笏枷?。相?b class='flag-5'>C語言常用的面向過程編程,面向?qū)ο缶幊痰膬?yōu)勢(shì)在于繼承、封裝、多態(tài)的特性,利用這種思想更有助于我們的程
    發(fā)表于 02-11 06:05

    華為內(nèi)部員工C++中級(jí)培訓(xùn)教材

    華為內(nèi)部員工C++中級(jí)培訓(xùn)教材在C++封裝概念是把一個(gè)對(duì)象的外觀接口同實(shí)際工作方式(實(shí)現(xiàn))分離開來,但是C++
    發(fā)表于 10-16 14:11 ?0次下載
    華為內(nèi)部員工<b class='flag-5'>C++</b>中級(jí)培訓(xùn)教材

    C++C/C++程序設(shè)計(jì)教程_C/C++概述

    C++基礎(chǔ)知識(shí),簡(jiǎn)要介紹了C++的一些簡(jiǎn)單知識(shí),概念,函數(shù)
    發(fā)表于 12-25 10:15 ?0次下載

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

    運(yùn)用Visual C++ 5.0或6.0的高級(jí)編程技巧,內(nèi)容涉及MFC程序設(shè)計(jì)的最新概念
    發(fā)表于 09-04 10:30 ?5次下載
    運(yùn)用Visual <b class='flag-5'>C++</b> 5.0或6.0的高級(jí)編程技巧,內(nèi)容涉及MFC程序設(shè)計(jì)的最新<b class='flag-5'>概念</b>

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

    一直有一個(gè)想法就是用 C++ 去做 STM32 的開發(fā),但是很少有這方面的資料。經(jīng)過一段時(shí)間的思考,決定在官方的 ll 庫的基礎(chǔ)上做一層 C++ 的簡(jiǎn)單封裝。因?yàn)楣俜降膸旎緦?shí)現(xiàn)了全系列的 MCU 都是相同的 API 接口,所以
    發(fā)表于 04-26 11:03 ?9674次閱讀
    基于STM32F4的 <b class='flag-5'>C++</b><b class='flag-5'>封裝</b>(完整代碼)

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是Visual C++教程之C++的基礎(chǔ)知識(shí)介紹主要內(nèi)容包括了:1 類和對(duì)象,2 類的成員及特性,3 繼承和派生類
    發(fā)表于 02-15 15:59 ?9次下載
    Visual <b class='flag-5'>C++</b>教程之<b class='flag-5'>C++</b>的基礎(chǔ)知識(shí)介紹

    C++:重載、重定義和重寫的概念和區(qū)分

    C++中我們經(jīng)常會(huì)遇見“重載、重定義、重寫”的概念個(gè)概念名字很像,很容易混淆,今天我們對(duì)者進(jìn)行一個(gè)區(qū)分。
    的頭像 發(fā)表于 06-29 11:33 ?5636次閱讀

    詳談C++特性:多態(tài)的概念分類和實(shí)現(xiàn)原理

    多態(tài)意思既是同一個(gè)事物的多種形態(tài),用我們C++的專業(yè)詞語來說就是:一個(gè)借口、多種實(shí)現(xiàn)方式。
    的頭像 發(fā)表于 06-29 12:54 ?2077次閱讀
    詳談<b class='flag-5'>C++</b><b class='flag-5'>特性</b>:多態(tài)的<b class='flag-5'>概念</b>分類和實(shí)現(xiàn)原理

    C++封裝:類的作用域和實(shí)例化

    C++封裝:類的作用域和實(shí)例化
    的頭像 發(fā)表于 06-29 14:28 ?3568次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>封裝</b>:類的作用域和實(shí)例化

    C++封裝:this指針

    C++封裝:this指針
    的頭像 發(fā)表于 06-29 14:37 ?3476次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>封裝</b>:this指針

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

    一、STM32與面向?qū)ο缶幊躺弦徽轮刑岬搅耍?b class='flag-5'>C++的核心之一就在于面向?qū)ο笏枷?。相?b class='flag-5'>C語言常用的面向過程編程,面向?qū)ο缶幊痰膬?yōu)勢(shì)在于繼承、封裝、多態(tài)的特性,利用這種思想更有助于我們的程
    發(fā)表于 12-08 11:06 ?13次下載
    STM32 <b class='flag-5'>C++</b>編程系列二:STM32 <b class='flag-5'>C++</b>代碼<b class='flag-5'>封裝</b>初探

    C++入門之?dāng)?shù)組的概念

    上一篇文章我們介紹了C++中的迭代器,這篇文章將會(huì)介紹C++中數(shù)組的概念,數(shù)組是一種和vector類似的數(shù)據(jù)結(jié)構(gòu),但是其在性能和靈活性上的權(quán)衡中選擇了性能而放棄了一定的靈活性,其與vector相同
    的頭像 發(fā)表于 03-17 14:14 ?695次閱讀

    利用C++提供的隊(duì)列封裝一個(gè)消息隊(duì)列

    最近的C++項(xiàng)目中,需要用到消息隊(duì)列,但是C++中又沒有原生的消息隊(duì)列,就在網(wǎng)上找了一下相關(guān)資料,利用C++提供的隊(duì)列,自己封裝一個(gè)消息隊(duì)列,以后的項(xiàng)目也可以復(fù)用。
    的頭像 發(fā)表于 05-20 15:16 ?1873次閱讀
    利用<b class='flag-5'>C++</b>提供的隊(duì)列<b class='flag-5'>封裝</b>一個(gè)消息隊(duì)列

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

    C++11 是下一個(gè) C++ 標(biāo)準(zhǔn),但我們通常稱之為現(xiàn)代 C++?,F(xiàn)代 C++ 也包括了 C++14 和
    發(fā)表于 07-21 08:56 ?345次閱讀
    <b class='flag-5'>c++</b>入門后如何進(jìn)階