C++ 面向?qū)ο笕筇匦裕悍庋b

2021-02-06    分類: 網(wǎng)站建設(shè)

21.面向?qū)ο笕筇匦裕悍庋b

21.1 什么是封裝

前面我們?cè)谠O(shè)計(jì)C++的類時(shí),會(huì)把類的屬性和類的函數(shù)以類成員的身份寫在類的{ }中。反過來也可以說類能被拆解為兩種基本要素:屬性和函數(shù)。

在面向?qū)ο蟪绦蛟O(shè)計(jì)中封裝就是把互相關(guān)聯(lián)的數(shù)據(jù)和操作這些數(shù)據(jù)的函數(shù)寫在同一個(gè)類中的意思。

我們可以從兩個(gè)層面來理解封裝:

一是類的封閉性。類的數(shù)據(jù)和功能函數(shù)被類的{ }封閉在類的作用域內(nèi),他們互相協(xié)作來執(zhí)行特定的任務(wù)。類是獨(dú)立存在的,一個(gè)類的存在不依賴于其他類是否存在。

二是類的開放性。在類的作用域內(nèi)通過公開的訪問標(biāo)簽(public: )把類的一些功能函數(shù)對(duì)外公開,以便在在外界需要使用這些功能的時(shí)候可以訪問。

類只向外界提供公開函數(shù)的一些關(guān)鍵信息,比如函數(shù)的名字、需要的參數(shù)、返回值的類型。類不向外提供函數(shù)的實(shí)現(xiàn)細(xì)節(jié)。

舉一個(gè)現(xiàn)實(shí)生活中的例子,比如個(gè)人電腦,任何人都可以打開和關(guān)閉電腦、播放視頻、運(yùn)行游戲,但是操作電腦的人卻不需要懂電腦內(nèi)部的工作原理。

再比如在 C++ 中,我們使用 cout 對(duì)象來輸出數(shù)據(jù)到控制臺(tái),但是并不需要了解 cout 是如何將文本顯示在屏幕上的。

C++ 中,我們使用訪問標(biāo)簽 public:來定義類對(duì)外公開的接口有哪些。

訪問標(biāo)簽在類中出現(xiàn)的次數(shù)并沒有限制,每個(gè)訪問標(biāo)簽指定了緊隨其后的成員的訪問級(jí)別。指定的訪問級(jí)別會(huì)一直有效,直到遇到下一個(gè)訪問標(biāo)簽或者直到類的結(jié)束。

在類中私有標(biāo)簽(private: )定義的成員外界是沒有訪問權(quán)限的,而且默認(rèn)情況下類的成員都是私有的。類對(duì)外的接口數(shù)量應(yīng)保持最少,一般類的數(shù)據(jù)成員都應(yīng)該是私有的,但也可以通過函數(shù)對(duì)外提供一定的訪問權(quán)限。

網(wǎng)頁標(biāo)題:C++ 面向?qū)ο笕筇匦裕悍庋b
本文URL:http://muchs.cn/news/99419.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、定制開發(fā)、網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計(jì)公司、云服務(wù)器做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)