什么是面向?qū)ο螅∣OP)

入門便是不識

從我們開始接觸Java這門語言后偷厦,就有人告訴我們這是一個面向?qū)ο蟮恼Z言展氓。說的最多的是new個對象捆愁,其實并不知道什么是對象割去。以為對象就是一個class(類),并不覺得有什么特殊昼丑。直到很久之后劫拗,面試官問到什么是OOP,嘴巴都是一個大O矾克,OOP页慷?WTF憔足?那人厭惡的說到就是面向?qū)ο缶幊獭N艺f:Java就是面向?qū)ο缶品保褪且磺幸詫ο鬄檩d體滓彰,去編程,去面對州袒。面試官: go out ! now!

image.png

滾回來的我趕緊看看什么是OOP揭绑,Object Oriented Programming,原來就是面向?qū)ο蟮木幊贪±煽蓿€有OOD(面向?qū)ο蟮脑O(shè)計)他匪,OOA(面向?qū)ο蟮姆治觯D鞘裁词敲嫦驅(qū)ο竽乜溲校恳肓私膺@個問題我們要先了解面向過程邦蜜,這樣對比我們就好理解了。

很早很早以前的編程是面向過程的亥至,比如實現(xiàn)一個算術(shù)運算1+1 = 2悼沈,通過這個簡單的算法就可以解決問題。但是隨著時代的進(jìn)步姐扮,人們不滿足現(xiàn)有的算法了絮供,因為問題越來越復(fù)雜,不是1+1那么單純了茶敏,比如一個班級的學(xué)生的數(shù)據(jù)分析壤靶,這樣就有了對象這個概念,一切事物皆對象惊搏。將現(xiàn)實的事物抽象出來萍肆,注意抽象這個詞是重點啊,把現(xiàn)實生活的事物以及關(guān)系胀屿,抽象成類塘揣,通過繼承,實現(xiàn)宿崭,組合的方式把萬事萬物都給容納了亲铡。實現(xiàn)了對現(xiàn)實世界的抽象和數(shù)學(xué)建模。這是一次飛躍性的進(jìn)步葡兑。

image.png

舉個最簡單點的例子來區(qū)分 面向過程和面向?qū)ο?/p>

有一天你想吃魚香肉絲了奖蔓,怎么辦呢?你有兩個選擇

1讹堤、自己買材料吆鹤,肉,魚香肉絲調(diào)料洲守,蒜苔疑务,胡蘿卜等等然后切菜切肉沾凄,開炒,盛到盤子里知允。

2撒蟀、去飯店,張開嘴:老板温鸽!來一份魚香肉絲保屯!

看出來區(qū)別了嗎?這就是1是面向過程涤垫,2是面向?qū)ο蟆?/p>

面向?qū)ο笥惺裁磧?yōu)勢呢姑尺?首先你不需要知道魚香肉絲是怎么做的,降低了耦合性蝠猬。如果你突然不想吃魚香肉絲了切蟋,想吃洛陽白菜,對于1你可能不太容易了吱雏,還需要重新買菜,買調(diào)料什么的瘾境。對于2歧杏,太容易了,大喊:老板迷守!那個魚香肉絲換成洛陽白菜吧犬绒,提高了可維護(hù)性《以洌總的來說就是降低耦合凯力,提高維護(hù)性!

面向過程是具體化的礼华,流程化的咐鹤,解決一個問題,你需要一步一步的分析圣絮,一步一步的實現(xiàn)祈惶。

面向?qū)ο笫悄P突模阒恍璩橄蟪鲆粋€類扮匠,這是一個封閉的盒子捧请,在這里你擁有數(shù)據(jù)也擁有解決問題的方法。需要什么功能直接使用就可以了棒搜,不必去一步一步的實現(xiàn)疹蛉,至于這個功能是如何實現(xiàn)的,管我們什么事力麸?我們會用就可以了可款。

面向?qū)ο蟮牡讓悠鋵嵾€是面向過程育韩,把面向過程抽象成類,然后封裝筑舅,方便我們我們使用的就是面向?qū)ο罅恕?/p>

面向過程:

優(yōu)點:性能比面向?qū)ο蠛米浚驗轭愓{(diào)用時需要實例化,開銷比較大翠拣,比較消耗資源版仔。
缺點:不易維護(hù)、不易復(fù)用误墓、不易擴(kuò)展.

優(yōu)點:易維護(hù)蛮粮、易復(fù)用、易擴(kuò)展谜慌,由于面向?qū)ο笥蟹庋b然想、繼承、多態(tài)性的特性欣范,可以設(shè)計出低耦合的系統(tǒng)变泄,使系統(tǒng) 更加靈活、更加易于維護(hù) .
缺點:性能比面向過程差


原來君如此

image.png

面向?qū)ο蟮娜筇匦裕?/h4>

1恼琼、封裝
隱藏對象的屬性和實現(xiàn)細(xì)節(jié)妨蛹,僅對外提供公共訪問方式,將變化隔離晴竞,便于使用蛙卤,提高復(fù)用性和安全性。
2噩死、繼承
提高代碼復(fù)用性颤难;繼承是多態(tài)的前提。
3已维、多態(tài)
父類或接口定義的引用變量可以指向子類或具體實現(xiàn)類的實例對象行嗤。提高了程序的拓展性。

五大基本原則:

1垛耳、單一職責(zé)原則SRP(Single Responsibility Principle)
類的功能要單一昂验,不能包羅萬象,跟雜貨鋪似的艾扮。
2既琴、開放封閉原則OCP(Open-Close Principle)
一個模塊對于拓展是開放的,對于修改是封閉的泡嘴,想要增加功能熱烈歡迎甫恩,想要修改,哼酌予,一萬個不樂意磺箕。
3奖慌、里式替換原則LSP(the Liskov Substitution Principle LSP)
子類可以替換父類出現(xiàn)在父類能夠出現(xiàn)的任何地方。比如你能代表你爸去你姥姥家干活松靡。哈哈~~
4简僧、依賴倒置原則DIP(the Dependency Inversion Principle DIP)
高層次的模塊不應(yīng)該依賴于低層次的模塊,他們都應(yīng)該依賴于抽象雕欺。抽象不應(yīng)該依賴于具體實現(xiàn)岛马,具體實現(xiàn)應(yīng)該依賴于抽象。就是你出國要說你是中國人屠列,而不能說你是哪個村子的啦逆。比如說中國人是抽象的,下面有具體的xx省笛洛,xx市夏志,xx縣。你要依賴的是抽象的中國人苛让,而不是你是xx村的沟蔑。
5、接口分離原則ISP(the Interface Segregation Principle ISP)
設(shè)計時采用多個與特定客戶類有關(guān)的接口比采用一個通用的接口要好狱杰。就比如一個手機(jī)擁有打電話瘦材,看視頻,玩游戲等功能浦旱,把這幾個功能拆分成不同的接口宇色,比在一個接口里要好的多九杂。


最后

1颁湖、抽象會使復(fù)雜的問題更加簡單化。
2例隆、從以前面向過程的執(zhí)行者甥捺,變成了張張嘴的指揮者。
3镀层、面向?qū)ο蟾先祟惖乃季S镰禾,面向過程則是機(jī)器的思想

參考:
https://blog.csdn.net/jerry11112/article/details/79027834
https://baike.baidu.com/item/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/2262089?fr=aladdin
https://www.cnblogs.com/corvoh/p/5747856.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市唱逢,隨后出現(xiàn)的幾起案子吴侦,更是在濱河造成了極大的恐慌,老刑警劉巖坞古,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件备韧,死亡現(xiàn)場離奇詭異,居然都是意外死亡痪枫,警方通過查閱死者的電腦和手機(jī)织堂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門叠艳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人易阳,你說我怎么就攤上這事附较。” “怎么了潦俺?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵拒课,是天一觀的道長。 經(jīng)常有香客問我黑竞,道長捕发,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任很魂,我火速辦了婚禮扎酷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遏匆。我一直安慰自己法挨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布幅聘。 她就那樣靜靜地躺著凡纳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帝蒿。 梳的紋絲不亂的頭發(fā)上荐糜,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音葛超,去河邊找鬼暴氏。 笑死,一個胖子當(dāng)著我的面吹牛绣张,可吹牛的內(nèi)容都是我干的答渔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼侥涵,長吁一口氣:“原來是場噩夢啊……” “哼沼撕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芜飘,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤务豺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嗦明,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笼沥,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了敬拓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邻薯。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乘凸,靈堂內(nèi)的尸體忽然破棺而出厕诡,到底是詐尸還是另有隱情,我是刑警寧澤营勤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布灵嫌,位于F島的核電站,受9級特大地震影響葛作,放射性物質(zhì)發(fā)生泄漏寿羞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一赂蠢、第九天 我趴在偏房一處隱蔽的房頂上張望绪穆。 院中可真熱鬧,春花似錦虱岂、人聲如沸玖院。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽难菌。三九已至,卻和暖如春蔑滓,著一層夾襖步出監(jiān)牢的瞬間郊酒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工键袱, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留燎窘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓杠纵,卻偏偏與公主長得像荠耽,于是被迫代替她去往敵國和親钩骇。 傳聞我的和親對象是個殘疾皇子比藻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355