面向?qū)ο笕齻€(gè)基本元素、五個(gè)基本原則

三個(gè)基本元素:####

  1. 封裝: 封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái)礁哄,對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)只能通過(guò)已定義的界面长酗。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治姐仅、封裝的對(duì)象花枫,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪(fǎng)問(wèn)其他對(duì)象。
  2. 繼承: 繼承是一種聯(lián)結(jié)類(lèi)的層次模型掏膏,并且允許和鼓勵(lì)類(lèi)的重用劳翰,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生馒疹,這個(gè)過(guò)程稱(chēng)為類(lèi)繼承佳簸。新類(lèi)繼承了原始類(lèi)的特性,新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)(子類(lèi))颖变,而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))生均。派生類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量,并且類(lèi)可以修改或增加新的方法使之更適合特殊的需要腥刹。
  3. 多態(tài): 多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)马胧。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活衔峰、抽象佩脊、行為共享、代碼共享的優(yōu)勢(shì)垫卤,很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題威彰。

C++中的虛函數(shù)的作用主要是實(shí)現(xiàn)了多態(tài)的機(jī)制。關(guān)于多態(tài)穴肘,簡(jiǎn)而言之就是用父類(lèi)型別的指針指向其子類(lèi)的實(shí)例歇盼,然后通過(guò)父類(lèi)的指針調(diào)用實(shí)際子類(lèi)的成員函數(shù)。這種技術(shù)可以讓父類(lèi)的指針有“多種形態(tài)”评抚,這是一種泛型技術(shù)豹缀。所謂泛型技術(shù),說(shuō)白了就是試圖使用不變的代碼來(lái)實(shí)現(xiàn)可變的算法慨代。比如:模板技術(shù)耿眉,RTTI技術(shù),虛函數(shù)技術(shù)鱼响,要么是試圖做到在編譯時(shí)決議鸣剪,要么試圖做到運(yùn)行時(shí)決議。

五個(gè)基本原則:####

單一職責(zé)原則(Single-Resposibility Principle):一個(gè)類(lèi)丈积,最好只做一件事筐骇,只有一個(gè)引起它的變化。單一職責(zé)原則可以看做是低耦合江滨、高內(nèi)聚在面向?qū)ο笤瓌t上的引申铛纬,將職責(zé)定義為引起變化的原因,以提高內(nèi)聚性來(lái)減少引起變化的原因唬滑。
開(kāi)放封閉原則(Open-Closed principle):軟件實(shí)體應(yīng)該是可擴(kuò)展的告唆,而不可修改的棺弊。也就是,對(duì)擴(kuò)展開(kāi)放擒悬,對(duì)修改封閉的模她。
Liskov替換原則(Liskov-Substituion Principle):子類(lèi)必須能夠替換其基類(lèi)。這一思想體現(xiàn)為對(duì)繼承機(jī)制的約束規(guī)范懂牧,只有子類(lèi)能夠替換基類(lèi)時(shí)侈净,才能保證系統(tǒng)在運(yùn)行期內(nèi)識(shí)別子類(lèi),這是保證繼承復(fù)用的基礎(chǔ)僧凤。
依賴(lài)倒置原則(Dependecy-Inversion Principle):依賴(lài)于抽象畜侦。具體而言就是高層模塊不依賴(lài)于底層模塊,二者都同依賴(lài)于抽象躯保;抽象不依賴(lài)于具體旋膳,具體依賴(lài)于抽象。
接口隔離原則(Interface-Segregation Principle):使用多個(gè)小的專(zhuān)門(mén)的接口途事,而不要使用一個(gè)大的總接口溺忧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盯孙,隨后出現(xiàn)的幾起案子鲁森,更是在濱河造成了極大的恐慌,老刑警劉巖振惰,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歌溉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡骑晶,警方通過(guò)查閱死者的電腦和手機(jī)痛垛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)桶蛔,“玉大人匙头,你說(shuō)我怎么就攤上這事∽欣祝” “怎么了蹂析?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)碟婆。 經(jīng)常有香客問(wèn)我电抚,道長(zhǎng),這世上最難降的妖魔是什么竖共? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任蝙叛,我火速辦了婚禮,結(jié)果婚禮上公给,老公的妹妹穿的比我還像新娘借帘。我一直安慰自己蜘渣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布肺然。 她就那樣靜靜地躺著蔫缸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狰挡。 梳的紋絲不亂的頭發(fā)上捂龄,一...
    開(kāi)封第一講書(shū)人閱讀 52,793評(píng)論 1 314
  • 那天释涛,我揣著相機(jī)與錄音加叁,去河邊找鬼。 笑死唇撬,一個(gè)胖子當(dāng)著我的面吹牛它匕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窖认,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼豫柬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了扑浸?” 一聲冷哼從身側(cè)響起烧给,我...
    開(kāi)封第一講書(shū)人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喝噪,沒(méi)想到半個(gè)月后础嫡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酝惧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年榴鼎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晚唇。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巫财,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哩陕,到底是詐尸還是另有隱情平项,我是刑警寧澤,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布悍及,位于F島的核電站葵礼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏并鸵。R本人自食惡果不足惜鸳粉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望园担。 院中可真熱鬧届谈,春花似錦枯夜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至曙搬,卻和暖如春摔吏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纵装。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工征讲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人橡娄。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓诗箍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親挽唉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滤祖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

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

  • 面向?qū)ο蟮?個(gè)基本要素: 封裝、繼承瓶籽、多態(tài) 面向?qū)ο蟮?個(gè)基本設(shè)計(jì)原則: 單一職責(zé)原則(Single-Respos...
    badcyc閱讀 863評(píng)論 0 4
  • 單一職責(zé)原則 (SRP) 全稱(chēng) SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,769評(píng)論 2 5
  • 透切理解面向?qū)ο笕蠡咎匦允抢斫饷嫦驅(qū)ο笪宕蠡驹瓌t的基礎(chǔ). 三大特性是:封裝,繼承,多態(tài) 封裝 封裝最好理解了...
    困卡閱讀 6,933評(píng)論 0 5
  • 本文出自《Android源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》中的第一章塑顺。 1汤求、優(yōu)化代碼的第一步——單一職責(zé)原則 單一職責(zé)原則的...
    MrSimp1e0閱讀 1,776評(píng)論 1 13
  • 要把軟件做得非常靈活又要便于維護(hù)是一個(gè)很困難的事情。靈活的軟件他的結(jié)構(gòu)就復(fù)雜茬暇,維護(hù)起來(lái)就困難首昔。有得必有失,關(guān)鍵就在...
    Minho6671閱讀 1,072評(píng)論 0 49