4.1-全棧Java筆記:對(duì)象的進(jìn)化史

面向?qū)ο蠛兔嫦蜻^程的區(qū)別

面向過程編程思想思考問題時(shí)栽燕,我們首先思考“怎么按步驟實(shí)現(xiàn)?”并將步驟對(duì)應(yīng)成方法改淑,一步一步碍岔,最終完成。?這個(gè)適合簡(jiǎn)單任務(wù)朵夏,不需要過多協(xié)作的情況下蔼啦。比如,如何開車仰猖?我們很容易就列出實(shí)現(xiàn)步驟:

? 1.?發(fā)動(dòng)車??

? 2.?掛擋???

? 3.踩油門????

? 4.?走捏肢,你

面向過程適合簡(jiǎn)單掠河、不需要協(xié)作的事務(wù)。?如果猛计,我們需要思考“如何造車?”爆捞,你就會(huì)發(fā)現(xiàn)列出1234這樣的步驟奉瘤,是不可能的。那是因?yàn)橹笊燔囂珡?fù)雜盗温,需要很多協(xié)作才能完成。

面向?qū)ο?Object)編程成肘,更契合人的思維模式卖局。我們首先思考的是“怎么設(shè)計(jì)這個(gè)事物?”?比如双霍,思考造車砚偶,我們就會(huì)先思考“車怎么設(shè)計(jì)?”洒闸,而不是“怎么按步驟造車的問題”染坯。這就是思維方式的轉(zhuǎn)變。

面向?qū)ο笏伎荚燔嚽鹨荩l(fā)現(xiàn)車由如下對(duì)象組成:

1.?輪胎

2.?發(fā)動(dòng)機(jī)

3.??車殼

4.??座椅

5.??擋風(fēng)玻璃

為了便于協(xié)作单鹿,我們找輪胎廠完成制造輪胎的步驟,發(fā)動(dòng)機(jī)廠完成知道發(fā)動(dòng)機(jī)的步驟深纲;這樣仲锄,發(fā)現(xiàn)大家可以同時(shí)進(jìn)行車的制造,最終進(jìn)行組裝湃鹊,大大提高了效率儒喊。但是,具體到輪胎廠的一個(gè)流水線操作涛舍,仍然是有步驟的澄惊!

因此,面向?qū)ο罂梢詭椭覀儚暮暧^上把握富雅、從整體上分析整個(gè)系統(tǒng)掸驱。?但是,具體到實(shí)現(xiàn)部分的微觀操作(就是一個(gè)個(gè)方法)没佑,仍然需要面向過程的思路去處理毕贼。

我們千萬不要把面向過程和面向?qū)ο髮?duì)立起來。他們是相輔相成的蛤奢。面向?qū)ο箅x不開面向過程鬼癣!

面向?qū)ο蠛兔嫦蜻^程的總結(jié)

?都是解決問題的思維方式陶贼,都是代碼組織的方式。

?解決簡(jiǎn)單問題可以使用面向過程

?解決復(fù)雜問題:宏觀上使用面向?qū)ο蟀盐沾海⒂^處理上仍然是面向過程拜秧。

面向?qū)ο笏伎挤绞?/strong>

遇到復(fù)雜問題,先從問題中找名詞章郁,然后確立這些名詞哪些可以作為類枉氮,再根據(jù)問題需求確定的類的屬性和方法,確定類之間的關(guān)系暖庄。

面向?qū)ο缶幊痰恼Z言的三大特征簡(jiǎn)介

封裝(encapsulation,? capsul膠囊)

封裝指的就是將對(duì)象的屬性和方法封裝起來聊替,不需要外界知道內(nèi)部的細(xì)節(jié),實(shí)現(xiàn)方便的調(diào)用培廓。比如:我們使用Ipad惹悄,只需要直接觸屏使用即可,不需要知道Ipad內(nèi)部的細(xì)節(jié)肩钠。

繼承(extend)

繼承讓我們更加容易實(shí)現(xiàn)類的擴(kuò)展泣港。?比如,我們定義了人類蔬将;再定義Boy類就只需要擴(kuò)展人類即可爷速。實(shí)現(xiàn)了代碼的重用,讓我們不再重新發(fā)明輪子(don’t? reinvent? wheels)霞怀。

多態(tài)(polymorphism)

多態(tài)指的是同一個(gè)方法調(diào)用惫东,由于對(duì)象不同可能會(huì)有不同的行為。現(xiàn)實(shí)生活中毙石,同一個(gè)方法廉沮,具體實(shí)現(xiàn)會(huì)完全不同。?

比如:同樣是調(diào)用人的“休息”方法徐矩。?有人是睡覺滞时,有人是旅游,有人是敲段代碼滤灯;

對(duì)象的進(jìn)化史(數(shù)據(jù)管理和企業(yè)管理共通之處)

事物的發(fā)展總是遵循“量變引起質(zhì)變”的哲學(xué)原則坪稽;企業(yè)管理和數(shù)據(jù)管理、甚至社會(huì)管理也有很多共通的地方鳞骤。本節(jié)課類比企業(yè)發(fā)展窒百,讓大家更容易理解為什么會(huì)產(chǎn)生“對(duì)象”這個(gè)概念。

數(shù)據(jù)無管理時(shí)代

最初的計(jì)算機(jī)語言只有基本變量(類似我們學(xué)習(xí)的基本數(shù)據(jù)類型)豫尽,用來保存數(shù)據(jù)篙梢。那時(shí)候,我們面對(duì)的數(shù)據(jù)非常簡(jiǎn)單美旧,只需要幾個(gè)變量即可搞定渤滞;這個(gè)時(shí)候不涉及“數(shù)據(jù)管理”的問題贬墩。

同理,就像在企業(yè)最初發(fā)展階段只有幾個(gè)人的時(shí)候妄呕,不涉及管理問題陶舞,大家悶頭做事就OK了。

數(shù)組管理和企業(yè)部門制

企業(yè)發(fā)展中绪励,員工多了怎么辦吊说?我們很自然的想法就是歸類,將類型一致的人放到一起优炬;企業(yè)中,會(huì)將都做銷售工作的放到銷售部管理厅贪;會(huì)將研發(fā)軟件的放到開發(fā)部管理蠢护;

同理,在編程中养涮,變量多了葵硕,我們很容易的想法就是“將同類型數(shù)據(jù)放到一起”,?于是就形成了“數(shù)組”的概念政己,單詞對(duì)應(yīng)“array”芜飘。

這種“歸類”的思想膏执,便于管理數(shù)據(jù)、管理人介评。

對(duì)象和企業(yè)項(xiàng)目制

企業(yè)繼續(xù)發(fā)展,面對(duì)的場(chǎng)景更加復(fù)雜爬舰。?一個(gè)項(xiàng)目可能需要經(jīng)常協(xié)同多個(gè)部門才能完成工作们陆;一個(gè)項(xiàng)目從談判接觸可能需要銷售部介入;?談判完成后,需求調(diào)研開始研發(fā)部和銷售部一起介入;開發(fā)階段需要開發(fā)部和測(cè)試部互相配合敏捷開發(fā);?同時(shí)整個(gè)過程財(cái)務(wù)部也需要跟進(jìn)情屹。

在企業(yè)中坪仇,為了便于協(xié)作和管理,很自然就興起了“項(xiàng)目制”垃你,以項(xiàng)目組的形式組織椅文,一個(gè)項(xiàng)目組可能包含各種類型的人員。?一個(gè)完整的項(xiàng)目組惜颇,麻雀雖小五臟俱全皆刺,就是個(gè)創(chuàng)業(yè)公司甚至小型公司的編制,從行政后勤人員官还、財(cái)務(wù)核算人員芹橡、開發(fā)人員、售前人員望伦、售后人員林说、測(cè)試人員煎殷、設(shè)計(jì)人員等等。事實(shí)上腿箩,華為豪直、騰訊、阿里巴巴等大型公司內(nèi)部都是采用這種“項(xiàng)目制”的方式進(jìn)行管理珠移。

計(jì)算機(jī)編程繼續(xù)發(fā)展弓乙,各種類型的變量更加多了,而且對(duì)數(shù)據(jù)的操作(指的就是方法钧惧,方法可以看做是對(duì)數(shù)據(jù)操作的管理)也復(fù)雜了暇韧,怎么辦? ?

為了便于協(xié)作和管理,我們相關(guān)數(shù)據(jù)和相關(guān)方法封裝到一個(gè)獨(dú)立的實(shí)體浓瞪,于是“對(duì)象”產(chǎn)生了懈玻。?比如,我們的一個(gè)學(xué)生對(duì)象:

有屬性:

年齡:18乾颁,姓名:高淇涂乌,學(xué)號(hào):1234

也可以有方法:

學(xué)習(xí)(),?吃飯(),考試()


1?對(duì)象進(jìn)化史和企業(yè)進(jìn)化史

總結(jié):??

?·對(duì)象說白了也是一種數(shù)據(jù)結(jié)構(gòu)(對(duì)數(shù)據(jù)的管理模式)英岭,將數(shù)據(jù)和數(shù)據(jù)的行為放到了一起湾盒。

?·在內(nèi)存上,對(duì)象就是一個(gè)內(nèi)存塊诅妹,存放了相關(guān)的數(shù)據(jù)集合罚勾!

?·對(duì)象的本質(zhì)就一種數(shù)據(jù)的組織方式!



「全棧Java筆記」是一部能幫大家從零到一成長(zhǎng)為全棧Java工程師系列筆記吭狡。筆者江湖人稱 Mr. G荧库,10年Java研發(fā)經(jīng)驗(yàn),曾在神州數(shù)碼赵刑、航天院某所研發(fā)中心從事軟件設(shè)計(jì)及研發(fā)工作分衫,從小白逐漸做到工程師、高級(jí)工程師般此、架構(gòu)師蚪战。精通Java平臺(tái)軟件開發(fā),精通JAVAEE铐懊,熟悉各種流行開發(fā)框架邀桑。


筆記包含從淺入深的六大部分:

A-Java入門階段

B-數(shù)據(jù)庫從入門到精通

C-手刃移動(dòng)前端和Web前端

D-J2EE從了解到實(shí)戰(zhàn)

E-Java高級(jí)框架精解

F-Linux和Hadoop?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市科乎,隨后出現(xiàn)的幾起案子壁畸,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捏萍,死亡現(xiàn)場(chǎng)離奇詭異太抓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)令杈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門走敌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逗噩,你說我怎么就攤上這事掉丽。” “怎么了异雁?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵捶障,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我纲刀,道長(zhǎng)残邀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任柑蛇,我火速辦了婚禮,結(jié)果婚禮上驱闷,老公的妹妹穿的比我還像新娘耻台。我一直安慰自己,他們只是感情好空另,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布盆耽。 她就那樣靜靜地躺著,像睡著了一般扼菠。 火紅的嫁衣襯著肌膚如雪摄杂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天循榆,我揣著相機(jī)與錄音析恢,去河邊找鬼。 笑死秧饮,一個(gè)胖子當(dāng)著我的面吹牛映挂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盗尸,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼柑船,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了泼各?” 一聲冷哼從身側(cè)響起鞍时,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逆巍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體及塘,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蒸苇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磷蛹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溪烤,死狀恐怖味咳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檬嘀,我是刑警寧澤槽驶,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站鸳兽,受9級(jí)特大地震影響掂铐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揍异,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一全陨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衷掷,春花似錦辱姨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懦胞,卻和暖如春替久,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躏尉。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工蚯根, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胀糜。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓稼锅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親僚纷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矩距,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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