面向?qū)ο笕蠡咎匦?五大基本原則

透切理解面向?qū)ο笕蠡咎匦允抢斫饷嫦驅(qū)ο笪宕蠡驹瓌t的基礎(chǔ).

三大特性是:封裝,繼承,多態(tài)

所謂封裝废菱,也就是把客觀事物封裝成抽象的類状土,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作琼开,對不可信的進(jìn)行信息隱藏扶认。封裝是面向?qū)ο蟮奶卣髦磺肓眨菍ο蠛皖惛拍畹闹饕匦浴?簡單的說粱挡,一個類就是一個封裝了數(shù)據(jù)以及操作這些數(shù)據(jù)的代碼的邏輯實體。在一個對象內(nèi)部俄精,某些代碼或某些數(shù)據(jù)可以是私有的询筏,不能被外界訪問。通過這種方式竖慧,對象對內(nèi)部數(shù)據(jù)提供了不同級別的保護(hù)嫌套,以防止程序中無關(guān)的部分意外的改變或錯誤的使用了對象的私有部分。

所謂繼承是指可以讓某個類型的對象獲得另一個類型的對象的屬性的方法圾旨。它支持按級分類的概念踱讨。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展砍的。 通過繼承創(chuàng)建的新類稱為“子類”或“派生類”痹筛,被繼承的類稱為“基類”、“父類”或“超類”廓鞠。繼承的過程帚稠,就是從一般到特殊的過程。要實現(xiàn)繼承床佳,可以通過“繼承”(Inheritance)和“組合”(Composition)來實現(xiàn)滋早。繼承概念的實現(xiàn)方式有二類:實現(xiàn)繼承與接口繼承。實現(xiàn)繼承是指直接使用基類的屬性和方法而無需額外編碼的能力砌们;接口繼承是指僅使用屬性和方法的名稱杆麸、但是子類必須提供實現(xiàn)的能力;

所謂多態(tài)就是指一個類實例的相同方法在不同情形有不同表現(xiàn)形式浪感。多態(tài)機(jī)制使具有不同內(nèi)部結(jié)構(gòu)的對象可以共享相同的外部接口昔头。這意味著,雖然針對不同對象的具體操作不同影兽,但通過一個公共的類减细,它們(那些操作)可以通過相同的方式予以調(diào)用。

五大基本原則

單一職責(zé)原則SRP(Single?Responsibility?Principle)

是指一個類的功能要單一赢笨,不能包羅萬象未蝌。如同一個人一樣,分配的工作不能太多茧妒,否則一天到晚雖然忙忙碌碌的萧吠,但效率卻高不起來。

開放封閉原則OCP(Open-Close?Principle)

一個模塊在擴(kuò)展性方面應(yīng)該是開放的而在更改性方面應(yīng)該是封閉的桐筏。比如:一個網(wǎng)絡(luò)模塊纸型,原來只服務(wù)端功能,而現(xiàn)在要加入客戶端功能,

那么應(yīng)當(dāng)在不用修改服務(wù)端功能代碼的前提下狰腌,就能夠增加客戶端功能的實現(xiàn)代碼除破,這要求在設(shè)計之初,就應(yīng)當(dāng)將服務(wù)端和客戶端分開琼腔,公共部分抽象出來瑰枫。

替換原則(the?Liskov?Substitution?Principle?LSP)

子類應(yīng)當(dāng)可以替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方。比如:公司搞年度晚會丹莲,所有員工可以參加抽獎光坝,那么不管是老員工還是新員工,

也不管是總部員工還是外派員工甥材,都應(yīng)當(dāng)可以參加抽獎盯另,否則這公司就不和諧了。

依賴原則(the?Dependency?Inversion?Principle?DIP) 具體依賴抽象洲赵,上層依賴下層鸳惯。假設(shè)B是較A低的模塊,但B需要使用到A的功能叠萍,

這個時候芝发,B不應(yīng)當(dāng)直接使用A中的具體類: 而應(yīng)當(dāng)由B定義一抽象接口,并由A來實現(xiàn)這個抽象接口俭令,B只使用這個抽象接口:這樣就達(dá)到

了依賴倒置的目的,B也解除了對A的依賴部宿,反過來是A依賴于B定義的抽象接口抄腔。通過上層模塊難以避免依賴下層模塊,假如B也直接依賴A的實現(xiàn)理张,那么就可能造成循環(huán)依賴赫蛇。一個常見的問題就是編譯A模塊時需要直接包含到B模塊的cpp文件,而編譯B時同樣要直接包含到A的cpp文件雾叭。

接口分離原則(the?Interface?Segregation?Principle?ISP)

模塊間要通過抽象接口隔離開悟耘,而不是通過具體的類強耦合起來

作者:Leo Chin

出處:http://www.cnblogs.com/hnrainll/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市织狐,隨后出現(xiàn)的幾起案子暂幼,更是在濱河造成了極大的恐慌,老刑警劉巖移迫,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旺嬉,死亡現(xiàn)場離奇詭異,居然都是意外死亡厨埋,警方通過查閱死者的電腦和手機(jī)邪媳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雨效,你說我怎么就攤上這事迅涮。” “怎么了徽龟?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵叮姑,是天一觀的道長。 經(jīng)常有香客問我顿肺,道長戏溺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任屠尊,我火速辦了婚禮旷祸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘讼昆。我一直安慰自己托享,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布浸赫。 她就那樣靜靜地躺著闰围,像睡著了一般。 火紅的嫁衣襯著肌膚如雪既峡。 梳的紋絲不亂的頭發(fā)上羡榴,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機(jī)與錄音运敢,去河邊找鬼校仑。 笑死,一個胖子當(dāng)著我的面吹牛传惠,可吹牛的內(nèi)容都是我干的迄沫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼卦方,長吁一口氣:“原來是場噩夢啊……” “哼羊瘩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盼砍,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤尘吗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后浇坐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摇予,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年吗跋,在試婚紗的時候發(fā)現(xiàn)自己被綠了侧戴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宁昭。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖酗宋,靈堂內(nèi)的尸體忽然破棺而出积仗,到底是詐尸還是另有隱情,我是刑警寧澤蜕猫,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布寂曹,位于F島的核電站,受9級特大地震影響回右,放射性物質(zhì)發(fā)生泄漏隆圆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一翔烁、第九天 我趴在偏房一處隱蔽的房頂上張望渺氧。 院中可真熱鬧,春花似錦蹬屹、人聲如沸侣背。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贩耐。三九已至,卻和暖如春厦取,著一層夾襖步出監(jiān)牢的瞬間潮太,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工虾攻, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留铡买,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓台谢,卻偏偏與公主長得像寻狂,于是被迫代替她去往敵國和親岁经。 傳聞我的和親對象是個殘疾皇子朋沮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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