與C對比的話,Java的特點是它是一種面向?qū)ο蟮恼Z言,那么面向?qū)ο蟮降资鞘裁匆馑迹窟_內(nèi)廣州Java培訓來簡單聊一聊。
現(xiàn)實世界中,隨處可見的一種事物就是對象,對象是事物存在的實體,如人類、書桌、計算機、高樓大廈等。人類解決問題的方式總是將復雜的事物簡單化,于是就會思考這些對象都是由哪些部分組成的。通常都會將對象劃分為兩個部分,即動態(tài)部分與靜態(tài)部分。靜態(tài)部分,顧名思義就是不能動的部分,這個部分被稱為“屬性”,任何對象都會具備其自身屬性,如一個人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會執(zhí)行哪些動作也是一個值得探討的部分,這個人可以哭泣、微笑、說話、行走,這些是這個人具備的行為(動態(tài)部分),人類通過探討對象的屬性和觀察對象的行為了解對象。
達內(nèi)先Java培訓在這打個比方,把寫一個程序想象成做一張桌子:
使用面向過程的思路:桌子,要用木頭做,所以我要種樹,樹種好了,我要砍木頭;可是沒鐵,開個鐵礦先;有礦石了,造個煉鐵房;煉好鐵,做成鋸子,鋸木,做鐵錘,做釘子;但是我不會裝桌子,去學學木工,桌子做好了。
接下來是面向?qū)ο?/span>:我要做桌子,要木頭,直接從建材市場買;沒鐵釘鐵錘,直接從五金商店買;不會裝桌子,直接請個木工,桌子完成。
所謂面向?qū)ο?,如上例,我要木頭,從建材市場這個對象拿,調(diào)用建材市場這個對象中出售木頭這個方法,返回我一個木頭,至于建材市場的木頭哪來的,我不知道,也不用知道,為什么這個社會有各行各業(yè)?他們?nèi)际菍ο?,都有一個方法,返回該職業(yè)能返回給社會的事物,之所以說面向?qū)ο蟾咏谌说恼K季S,妙處就在這,我們把能拿到我們想要的東西的出處抽取成一個對象,我們直接訪問它,拿到我們要的東西,它又從它該拿到東西的對象處拿東西,看似互不相干,卻又有很多關(guān)系,這就是面向?qū)ο螅恳粋€對象,一個方法,只做它自己該做的事,其他的,交給其他的方法,其他的對象。
面向?qū)ο笙啾让嫦蜻^程,更接近于人的思維,而復雜的活則更多地交給編譯器去做,雖然可能由于編譯器不夠智能而使得終重新效率偏低,但是卻加快了程序員的工作效率,以上是達內(nèi)廣州Java培訓對面向?qū)ο蟮睦斫狻?/span>