面向對象三大基本特性,五大基本原則

面向對象三大基本特性,五大基本原則

透切理解面向對象三大基本特性是理解面向對象五大基本原則的基礎.

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

所謂封裝但惶,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏进宝。封裝是面向對象的特征之一恨搓,是對象和類概念的主要特性。 簡單的說好爬,一個類就是一個封裝了數(shù)據(jù)以及操作這些數(shù)據(jù)的代碼的邏輯實體局雄。在一個對象內部,某些代碼或某些數(shù)據(jù)可以是私有的存炮,不能被外界訪問炬搭。通過這種方式,對象對內部數(shù)據(jù)提供了不同級別的保護穆桂,以防止程序中無關的部分意外的改變或錯誤的使用了對象的私有部分宫盔。

所謂繼承是指可以讓某個類型的對象獲得另一個類型的對象的屬性的方法。它支持按級分類的概念享完。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能灼芭,并在無需重新編寫原來的類的情況下對這些功能進行擴展。 通過繼承創(chuàng)建的新類稱為“子類”或“派生類”般又,被繼承的類稱為“基類”彼绷、“父類”或“超類”。繼承的過程茴迁,就是從一般到特殊的過程寄悯。要實現(xiàn)繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實現(xiàn)堕义。繼承概念的實現(xiàn)方式有二類:實現(xiàn)繼承與接口繼承猜旬。實現(xiàn)繼承是指直接使用基類的屬性和方法而無需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱倦卖、但是子類必須提供實現(xiàn)的能力洒擦;

所謂多態(tài)就是指一個類實例的相同方法在不同情形有不同表現(xiàn)形式。多態(tài)機制使具有不同內部結構的對象可以共享相同的外部接口怕膛。這意味著熟嫩,雖然針對不同對象的具體操作不同,但通過一個公共的類褐捻,它們(那些操作)可以通過相同的方式予以調用邦危。

五大基本原則

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

是指一個類的功能要單一洋侨,不能包羅萬象。如同一個人一樣倦蚪,分配的工作不能太多希坚,否則一天到晚雖然忙忙碌碌的,但效率卻高不起來陵且。

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

一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的帝嗡。比如:一個網(wǎng)絡模塊物喷,原來只服務端功能靠粪,而現(xiàn)在要加入客戶端功能尖奔,

那么應當在不用修改服務端功能代碼的前提下,就能夠增加客戶端功能的實現(xiàn)代碼沪悲,這要求在設計之初获洲,就應當將服務端和客戶端分開,公共部分抽象出來殿如。

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

子類應當可以替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方贡珊。比如:公司搞年度晚會,所有員工可以參加抽獎涉馁,那么不管是老員工還是新員工门岔,

也不管是總部員工還是外派員工,都應當可以參加抽獎烤送,否則這公司就不和諧了寒随。

依賴原則(the?Dependency?Inversion?Principle?DIP) 具體依賴抽象,上層依賴下層帮坚。假設B是較A低的模塊妻往,但B需要使用到A的功能,

這個時候试和,B不應當直接使用A中的具體類: 而應當由B定義一抽象接口讯泣,并由A來實現(xiàn)這個抽象接口,B只使用這個抽象接口:這樣就達到

了依賴倒置的目的灰署,B也解除了對A的依賴,反過來是A依賴于B定義的抽象接口局嘁。通過上層模塊難以避免依賴下層模塊溉箕,假如B也直接依賴A的實現(xiàn),那么就可能造成循環(huán)依賴悦昵。一個常見的問題就是編譯A模塊時需要直接包含到B模塊的cpp文件肴茄,而編譯B時同樣要直接包含到A的cpp文件。

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末寡痰,一起剝皮案震驚了整個濱河市抗楔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拦坠,老刑警劉巖连躏,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贞滨,居然都是意外死亡入热,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門晓铆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勺良,“玉大人,你說我怎么就攤上這事骄噪∩欣В” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵链蕊,是天一觀的道長事甜。 經(jīng)常有香客問我,道長示弓,這世上最難降的妖魔是什么讳侨? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮奏属,結果婚禮上跨跨,老公的妹妹穿的比我還像新娘。我一直安慰自己囱皿,他們只是感情好勇婴,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘱腥,像睡著了一般耕渴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上齿兔,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天橱脸,我揣著相機與錄音,去河邊找鬼分苇。 笑死添诉,一個胖子當著我的面吹牛,可吹牛的內容都是我干的医寿。 我是一名探鬼主播栏赴,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼靖秩!你這毒婦竟也來了须眷?” 一聲冷哼從身側響起竖瘾,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎花颗,沒想到半個月后捕传,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捎稚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年乐横,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片今野。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡葡公,死狀恐怖,靈堂內的尸體忽然破棺而出条霜,到底是詐尸還是另有隱情催什,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布宰睡,位于F島的核電站蒲凶,受9級特大地震影響,放射性物質發(fā)生泄漏拆内。R本人自食惡果不足惜旋圆,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望麸恍。 院中可真熱鬧灵巧,春花似錦、人聲如沸抹沪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽融欧。三九已至敏弃,卻和暖如春噪馏,著一層夾襖步出監(jiān)牢的瞬間麦到,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工欠肾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓶颠,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓董济,卻偏偏與公主長得像步清,于是被迫代替她去往敵國和親要门。 傳聞我的和親對象是個殘疾皇子虏肾,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容