C++ 數(shù)據(jù)抽象 封裝 接口

C++ 數(shù)據(jù)抽象

什么是數(shù)據(jù)抽象

向外界提供關(guān)鍵信息酪我。隱藏其后臺的實現(xiàn)細節(jié)邮府。只表現(xiàn)必要的信息嘁圈,不呈現(xiàn)細節(jié)寇仓。
數(shù)據(jù)抽象是依賴于接口和實現(xiàn)分離橱赠。

通過外部接口厚棵,對其內(nèi)部進行實現(xiàn)蕉世。達到數(shù)據(jù)抽象的目的

#include <iostream>
using namespace std;

int main(){
    cout << "hello c++" << endl;
    return 0;
}

在上方中,不需要理解cout如何在屏幕上輸出內(nèi)容婆硬,只需要知道這是一個接口狠轻,用于定義進行輸出。

優(yōu)勢

類的內(nèi)部受到保護彬犯,不會因為用戶錯誤對對象導致受到損害向楼。
類的實現(xiàn)可能會受到時間的推移而發(fā)生變化查吊,應(yīng)對不斷變化的需求,只需要更改類即可蜜自,不用更改業(yè)務(wù)代碼菩貌,完成分離

數(shù)據(jù)抽象的實例

#include <iostream>
using namespace std;

class Adder{
public:
    // 構(gòu)造函數(shù)
    Adder(int i = 0){
        total = i;
    }
    // 對外的接口
    void addNum(int number){
        total += number;
    }
    // 對外的接口
    int getTotal(){
        return total;
    }
private:
    // 對外隱藏的數(shù)據(jù)
    int total;
}

int main(){
    Adder* a = new Adder();

    a.addNum(30);
    a.addNum(20);
    a.addNum(30);

    cout << "Total" << a.getTotal() << endl;
    return 0;
}

設(shè)計

抽象把代碼分離為接口和實現(xiàn)。
設(shè)計組件的時候重荠,必須保持接口的獨立實現(xiàn)箭阶。無論怎么改變底層,接口也將保持不變戈鲁。

數(shù)據(jù)抽象

程序語句 程序中執(zhí)行動作的部分稱為函數(shù)
程序數(shù)據(jù) 數(shù)據(jù)為程序的信息仇参,會受到函數(shù)的影響。

數(shù)據(jù)隱藏

數(shù)據(jù)隱藏屬于OOP中的封裝的特性婆殿。

OOP中的三大特性诈乒,封裝,繼承婆芦,多態(tài)怕磨,封裝,提供set和get方法消约,用于進行封裝肠鲫,即對內(nèi)保護,對外隱藏或粮。繼承java中使用的是extends导饲,進行繼承,有單一繼承和多重繼承氯材。多態(tài)渣锦、定義一個接口,即抽象類氢哮,用來對于某些規(guī)則進行定義袋毙,實現(xiàn)對于不同的處理進行不同的反饋,得到多態(tài)冗尤。

數(shù)據(jù)封裝為public和private等

#include <iostream>

int main(){
    class Box{
    public:
        double getVolume(void){
            return length * breadth * height;
        }
    private:
        double length;  // 長度
        double breadth; // 寬度
        double height;  // 高度
    }
}

在上方中娄猫,封裝數(shù)據(jù),并對外提供接口為getVolme生闲,并且private保證了對數(shù)據(jù)的保護,防止非法操作月幌,并且將數(shù)據(jù)和實現(xiàn)分離碍讯,確保當業(yè)務(wù)代碼更改的時候,數(shù)據(jù)也可以進行更改扯躺。

設(shè)計

設(shè)計類的成員為私有捉兴,除非真的要對齊暴露蝎困,確保封裝性。
包括對于虛函數(shù)來說倍啥,也是如此禾乘。

接口

C++的接口,使用虛函數(shù)進行實現(xiàn)虽缕。通過= 0 說明該虛函數(shù)為沒有方法體始藕,虛函數(shù)需要在派生類中進行具體的實現(xiàn)。

設(shè)計

封裝的作用是用來保護代碼氮趋,繼承是用來增強代碼的復用伍派,多態(tài)是用來派生類的功能可以被基類所調(diào)用,并且可以對類進行進一步的抽象達到更高的復用的目的剩胁。
接口的作用诉植,用于統(tǒng)一規(guī)范代碼,用于對各個模塊提供一個統(tǒng)一的接口用于進行實現(xiàn)昵观。
多態(tài)和接口
接口是多態(tài)的實現(xiàn)的一種方式晾腔。

image

https://www.iming.info/2018/11/06/C-%E6%95%B0%E6%8D%AE%E6%8A%BD%E8%B1%A1-%E5%B0%81%E8%A3%85-%E6%8E%A5%E5%8F%A3/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啊犬,隨后出現(xiàn)的幾起案子灼擂,更是在濱河造成了極大的恐慌,老刑警劉巖椒惨,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缤至,死亡現(xiàn)場離奇詭異,居然都是意外死亡康谆,警方通過查閱死者的電腦和手機领斥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沃暗,“玉大人月洛,你說我怎么就攤上這事∧踝叮” “怎么了嚼黔?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惜辑。 經(jīng)常有香客問我唬涧,道長,這世上最難降的妖魔是什么盛撑? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任碎节,我火速辦了婚禮,結(jié)果婚禮上抵卫,老公的妹妹穿的比我還像新娘狮荔。我一直安慰自己胎撇,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布殖氏。 她就那樣靜靜地躺著晚树,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雅采。 梳的紋絲不亂的頭發(fā)上爵憎,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音总滩,去河邊找鬼纲堵。 笑死,一個胖子當著我的面吹牛闰渔,可吹牛的內(nèi)容都是我干的席函。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼冈涧,長吁一口氣:“原來是場噩夢啊……” “哼茂附!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起督弓,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤营曼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后愚隧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒂阱,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年狂塘,在試婚紗的時候發(fā)現(xiàn)自己被綠了录煤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡荞胡,死狀恐怖妈踊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泪漂,我是刑警寧澤廊营,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站萝勤,受9級特大地震影響露筒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜敌卓,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一邀窃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦瞬捕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惧蛹,卻和暖如春扇救,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背香嗓。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工迅腔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人靠娱。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓沧烈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親像云。 傳聞我的和親對象是個殘疾皇子锌雀,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容