溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java的面向?qū)ο蠛兔嫦蜻^(guò)程介紹

發(fā)布時(shí)間:2023-12-13 10:45:49 來(lái)源:億速云 閱讀:189 作者:栢白 欄目:開發(fā)技術(shù)

今天小編給大家分享的是Java的面向?qū)ο蠛兔嫦蜻^(guò)程介紹,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

一. 面向?qū)ο?/h3>

既然我們要學(xué)習(xí)面向?qū)ο?,那首先得?duì)其基本概念、特性、對(duì)象、類等內(nèi)容有所了解。

1. 概念

我們知道Java是面向?qū)ο蟮木幊陶Z(yǔ)言,所以首先得給大家解釋一下到底啥是面向?qū)ο缶幊獭?/p>

所謂的面向?qū)ο缶幊?Object-Oriented Programming,簡(jiǎn)稱OOP) ,其實(shí)是一種軟件開發(fā)思想,也是一種編程范式。在面向?qū)ο蟮木幊趟枷氤霈F(xiàn)之前,主要是面向過(guò)程這種思想壟斷著程序員們的編程思維。 ”面向“這個(gè)詞,從字面理解就是”對(duì)著、朝向“,準(zhǔn)確地說(shuō)應(yīng)該是 ”遵從、依照、按照、根據(jù)“ 的意思。 ”對(duì)象“ ,并不是指你的男/女朋友那個(gè)”對(duì)象“,而是指真實(shí)世界中的一個(gè)個(gè)實(shí)體,有點(diǎn)類似于哲學(xué)中”抽象“與”具體“范疇中的一個(gè)個(gè)”個(gè)體“。

可以說(shuō),在面向?qū)ο蟮木幊桃?guī)范中, “一切皆對(duì)象”,對(duì)象就是面向?qū)ο缶幊痰暮诵?/strong>。我們把現(xiàn)實(shí)世界中的一個(gè)個(gè)對(duì)象或物體,抽象地體現(xiàn)在編程世界中。就好比我們想駕駛一輛奧迪A6,A6就是一個(gè)對(duì)象,制造商給A6賦予了各種功能和特性,我們就可以調(diào)用這個(gè)對(duì)象完成一系列操控。所以每一個(gè)對(duì)象都可以包含一系列具體的操作,最終一個(gè)個(gè)的對(duì)象又組成了完整的Java程序。這些對(duì)象可以是獨(dú)立存在的,也可以是從別的對(duì)象中繼承過(guò)來(lái)的。對(duì)象之間通過(guò)相互作用傳遞信息,實(shí)現(xiàn)程序開發(fā)。

給大家舉個(gè)栗子,假如我們想吃飯,按照面向?qū)ο蟮慕鉀Q思維就是:

創(chuàng)造一個(gè)“農(nóng)民”對(duì)象,去種地;

創(chuàng)造一個(gè)“廚師”對(duì)象,去做飯;

創(chuàng)造一個(gè)“食客”對(duì)象,去吃飯;

......

問(wèn)題解決!

2. 特點(diǎn)

在面向?qū)ο缶幊讨?,一個(gè)對(duì)象會(huì)有以下特點(diǎn):

  • 對(duì)象具有屬性和行為;

  • 對(duì)象具有變化的狀態(tài);

  • 對(duì)象具有唯一性;

  • 對(duì)象都是某個(gè)類的實(shí)例;

  • 一切皆對(duì)象,真實(shí)世界中所有的事物都可以視為對(duì)象。

當(dāng)然,如果只是這樣跟大家解釋一通,很多小白肯定還是不明白到底啥是面向?qū)ο?。別急,面向?qū)ο笫且环N認(rèn)知思維,一種思維的養(yǎng)成,并不是一朝一夕就可以形成的。有些科班出身的Java程序員,在學(xué)校里接觸了很久的面向?qū)ο?,甚至都做了幾年的開發(fā),真讓他解釋啥是面向?qū)ο?,他依然很懵懂。我們要想真正地理解面向?qū)ο螅豢磶灼恼潞鸵曨l是很難吃透的。你需要進(jìn)行大量的編程實(shí)踐,寫著寫著,有一天你就會(huì)突然頓悟:“啊,原來(lái)這就是面向?qū)ο蟀 保?/p>

二. 面向過(guò)程

在上面的小節(jié)中,還給大家提到了“面向過(guò)程”這個(gè)概念,雖然這不是我們要掌握的內(nèi)容,但我覺(jué)得還是有必要跟大家拓展解釋一下。

1. 概念

面向過(guò)程(Procedure-Oriented Programming,簡(jiǎn)稱POP)也是一種編程思想和模式。 它出現(xiàn)的時(shí)間比面向?qū)ο筮€要早,可以說(shuō)是早期高級(jí)編程語(yǔ)言所采用的思維鼻祖。采用面向過(guò)程思維的編程語(yǔ)言有C、Fortran、Pascal、Basic等。

面向過(guò)程的編程思想其實(shí)很機(jī)械粗暴,所有的事情都可以拆分成一系列要執(zhí)行的計(jì)算步驟,通常采用自上而下、順序執(zhí)行的方式來(lái)實(shí)現(xiàn)。 還是給大家舉吃飯的栗子,如果是按照面向過(guò)程的解決思維就是:

開墾荒地;

種糧種菜;

收獲加工;

做飯烹飪;

開始吃飯;

收拾整理;

.......

你看,整個(gè)執(zhí)行邏輯就是這么機(jī)械粗暴,簡(jiǎn)單明了。面向過(guò)程就是把目標(biāo)的實(shí)現(xiàn)拆分成了一個(gè)個(gè)的實(shí)現(xiàn)過(guò)程,而每一步又可以繼續(xù)拆分成若干個(gè)子步驟。這種解決問(wèn)題的思維,與面向?qū)ο笫怯忻黠@不同的。

2. 特點(diǎn)

根據(jù)以上分析,我們可以感受到面向過(guò)程的優(yōu)點(diǎn)在于,性能上它比面向?qū)ο笠?。因?yàn)樵诿嫦驅(qū)ο笾?,我們?cè)谡{(diào)用類時(shí)需要進(jìn)行實(shí)例化,開銷比較大。但面向過(guò)程的缺點(diǎn)也很明顯,代碼不易維護(hù)、復(fù)用和擴(kuò)展性都很差,開發(fā)效率較低。所以面向過(guò)程的開發(fā)技術(shù),主要是用在單片機(jī)、嵌入式開發(fā)、Linux/Unix等對(duì)性能要求較高,代碼改動(dòng)不頻繁的場(chǎng)景中。

3. 面向?qū)ο笈c面向過(guò)程的對(duì)比

面向過(guò)程的解決思維是“步驟化”的 。 解決問(wèn)題就是分析出實(shí)現(xiàn)一個(gè)需求所需要的步驟,通過(guò)函數(shù)(方法)一步一步地去實(shí)現(xiàn),接著我們依次調(diào)用這些函數(shù)即可。

而面向?qū)ο蟮慕鉀Q思維是“行為化”的。就是把整個(gè)需求按照特點(diǎn)、功能劃分,將存在共性的部分封裝成類。類實(shí)例化后就是對(duì)象,創(chuàng)建對(duì)象不是為了完成某一個(gè)步驟,而是為了描述某個(gè)事物在解決問(wèn)題時(shí)的行為。按照這種思維,項(xiàng)目代碼就很容易維護(hù)、復(fù)用、擴(kuò)展,并且系統(tǒng)會(huì)更加的靈活。

三. 結(jié)語(yǔ)

至此,就給大家解釋了面向?qū)ο蠛兔嫦蜻^(guò)程的概念,并對(duì)比了兩者的區(qū)別,你現(xiàn)在知道什么叫做面向?qū)ο罅藛幔?/p>

關(guān)于Java的面向?qū)ο蠛兔嫦蜻^(guò)程介紹就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI