【Java 8】二插勤、Java中的面向?qū)ο缶幊?/h1>

2.1 面向?qū)ο缶幊?/h1>

面向?qū)ο缶幊蹋∣bject-Oriented Programming谍肤,OOP)在Java中處于核心地位琅关。

兩種范式

所有計(jì)算機(jī)程序都包含2個(gè)元素:代碼煮岁、數(shù)據(jù)
面向過(guò)程模型:將程序描述為一系列步驟,并用代碼描述每一個(gè)步驟將如何作用于數(shù)據(jù)涣易。
面向?qū)ο缶幊蹋簩?shù)據(jù)設(shè)計(jì)為一系列對(duì)象画机,并為這些對(duì)象精心設(shè)計(jì)接口,使用這些接口來(lái)進(jìn)行組織代碼新症。

抽象

使用抽象管理復(fù)雜性:非面向?qū)ο蟮木幊谭绞讲绞希鶎?duì)象分解為不同的部分進(jìn)行處理;而面向?qū)ο蟮木幊谭绞酵降瑒t是把對(duì)象作為一個(gè)整理戳护,去使用這個(gè)對(duì)象。
層次化分類(lèi):如一臺(tái)車(chē)瀑焦,下面又可以分為駕駛系統(tǒng)腌且、制動(dòng)系統(tǒng)等,每層又可以繼續(xù)細(xì)分榛瓮。當(dāng)我們?nèi)ナ褂眠@個(gè)車(chē)的對(duì)象時(shí)铺董,則只需要了解各系統(tǒng)如何操作,而不需要知道這個(gè)系統(tǒng)里面由什么組成禀晓。
對(duì)變化的支持:面向?qū)ο蟮姆绞姜q如人類(lèi)理解事物一樣精续;往往事物會(huì)不斷變化,例如某一部分進(jìn)行改變粹懒;那么面向?qū)ο蟮某绦蛞材苤С诌@些變化重付,可以?xún)?yōu)美地廢除或者替換舊系統(tǒng)中的一些部分。

OOP三原則

封裝

封裝:將代碼以及其操作的數(shù)據(jù)綁定在一齊的機(jī)制凫乖∪返妫可以想象為一個(gè)保護(hù)性的盒子,只允許外部通過(guò)盒子提供的通道進(jìn)行訪問(wèn)和操作帽芽,而不允許隨意訪問(wèn)盒子里面的代碼和數(shù)據(jù)删掀。
封裝的基礎(chǔ)是類(lèi):類(lèi),是一些對(duì)象共享的一種結(jié)構(gòu)和行為(數(shù)據(jù)和代碼)导街。使用類(lèi)創(chuàng)建對(duì)象披泪,類(lèi)似使用模具生產(chǎn)零件,這些對(duì)象也稱(chēng)為類(lèi)的實(shí)例搬瑰。
變量和方法:類(lèi)里面可以定義變量和方法款票,稱(chēng)為成員變量(或?qū)嵗兞浚┖统蓡T方法(或方法)控硼。
公有/私有:類(lèi)的變量或方法可以設(shè)置為公有或私有,公有的表示外部用戶(hù)可以知道的內(nèi)容艾少,私有的表示只有類(lèi)的成員才能訪問(wèn)卡乾。

繼承

繼承:是一個(gè)對(duì)象獲得另一個(gè)對(duì)象的屬性的過(guò)程,繼承支持了層次化分類(lèi)的概念姆钉。
例如定義了一個(gè)哺乳類(lèi)動(dòng)物说订,又定義了下一層的一個(gè)類(lèi)叫犬類(lèi)抄瓦,我們定義犬類(lèi)繼承了哺乳類(lèi)潮瓶,那么就代表犬類(lèi)有哺乳類(lèi)的所有屬性和特征(變量和方法)。

多態(tài)

多態(tài)(多種形態(tài)):允許將一個(gè)接口用于一類(lèi)通用動(dòng)作钙姊。
多態(tài)是為了降低復(fù)雜性毯辅。例如一個(gè)對(duì)象有同一個(gè)行為,但是根據(jù)數(shù)據(jù)不同有不同做法的時(shí)候煞额,使用相同的接口來(lái)指定這個(gè)行為思恐,而自動(dòng)根據(jù)對(duì)應(yīng)的參數(shù),會(huì)執(zhí)行對(duì)應(yīng)的實(shí)際代碼膊毁。

封裝胀莹、繼承與多態(tài)協(xié)同工作

通過(guò)這3個(gè)原則,可以設(shè)計(jì)出健壯性強(qiáng)婚温、方便維護(hù)描焰、適應(yīng)變化的系統(tǒng)級(jí)代碼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末栅螟,一起剝皮案震驚了整個(gè)濱河市荆秦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌力图,老刑警劉巖步绸,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吃媒,居然都是意外死亡瓤介,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)赘那,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惑朦,“玉大人,你說(shuō)我怎么就攤上這事漓概⊙拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵胃珍,是天一觀的道長(zhǎng)梁肿。 經(jīng)常有香客問(wèn)我蜓陌,道長(zhǎng),這世上最難降的妖魔是什么吩蔑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任钮热,我火速辦了婚禮,結(jié)果婚禮上烛芬,老公的妹妹穿的比我還像新娘隧期。我一直安慰自己,他們只是感情好赘娄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布仆潮。 她就那樣靜靜地躺著,像睡著了一般遣臼。 火紅的嫁衣襯著肌膚如雪性置。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天揍堰,我揣著相機(jī)與錄音鹏浅,去河邊找鬼。 笑死屏歹,一個(gè)胖子當(dāng)著我的面吹牛隐砸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蝙眶,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼季希,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了械馆?” 一聲冷哼從身側(cè)響起胖眷,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎霹崎,沒(méi)想到半個(gè)月后珊搀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尾菇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年境析,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片派诬。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡劳淆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出默赂,到底是詐尸還是另有隱情沛鸵,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站曲掰,受9級(jí)特大地震影響疾捍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜栏妖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一乱豆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吊趾,春花似錦宛裕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至孵奶,卻和暖如春疲酌,著一層夾襖步出監(jiān)牢的瞬間蜡峰,已是汗流浹背了袁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留湿颅,地道東北人载绿。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像油航,于是被迫代替她去往敵國(guó)和親崭庸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355