更新時(shí)間:2019-09-05 來(lái)源:黑馬程序員 瀏覽量:
面向?qū)ο缶幊淌钱?dāng)今主流的程序設(shè)計(jì)思想,已經(jīng)取代了過(guò)程化程序開(kāi)發(fā)技術(shù),Java 是完全面向?qū)ο缶幊陶Z(yǔ)言,所以必須熟悉面向?qū)ο蟛拍軌蚓帉?xiě)Java
程序。下面我就介紹什么是java面向?qū)ο蟆?br/>
一、面向?qū)ο蟮母拍?/strong>
面向?qū)ο笫且环N符合人類(lèi)思維習(xí)慣的編程思想?,F(xiàn)實(shí)生活中存在各種形態(tài)不同的事物,這些事物之間存在著各種各樣的聯(lián)系。在程序中使用對(duì)象來(lái)映射現(xiàn)實(shí)中的事物使用對(duì)象的關(guān)系來(lái)描述事物之間的聯(lián)系,這種思想就是面向?qū)ο蟆?/p>
提到面向?qū)ο?,自然?huì)想到面向過(guò)程,面向過(guò)程就是分析解決問(wèn)題所需要的步驟,然后用函數(shù)把這些步驟一一實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。面向?qū)ο髣t是把解決的問(wèn)題按照一定規(guī)則劃分為多個(gè)獨(dú)立的對(duì)象,然后通過(guò)調(diào)用對(duì)象的方法來(lái)解決問(wèn)題。當(dāng)然,一個(gè)應(yīng)用程序會(huì)包含多個(gè)對(duì)象,通過(guò)多個(gè)對(duì)象的相互配合來(lái)實(shí)現(xiàn)應(yīng)用程序的功能,這樣當(dāng)應(yīng)用程序功能發(fā)生變動(dòng)時(shí),只需要修改個(gè)別的對(duì)象就可以了,從而使代碼更容易得到維護(hù)。
二、面向?qū)ο蟮奶攸c(diǎn)
面向?qū)ο蟮奶攸c(diǎn)主要可以概括為封裝性、繼承性和多態(tài)性,接下來(lái)針對(duì)這三種特性進(jìn)行簡(jiǎn)單介紹。
1、封裝性
封裝是面向?qū)ο蟮暮诵乃枷?,將?duì)象的屬性和行為封裝起來(lái),不需要讓外界知道具體實(shí)現(xiàn)細(xì)節(jié),這就是封裝思想。例如,用戶(hù)使用電腦,只需要使用手指敲鍵盤(pán)就可以了無(wú)須知道電腦內(nèi)部是如何工作的,即使用戶(hù)可能碰巧知道電腦的工作原理,但在使用時(shí),并不完全依賴(lài)電腦工作原理這些細(xì)節(jié)。
2、繼承性
繼承性主要描述的是類(lèi)與類(lèi)之間的關(guān)系,通過(guò)繼承,可以在無(wú)須重新編寫(xiě)原有類(lèi)的情況下,對(duì)原有類(lèi)的功能進(jìn)行擴(kuò)展。例如,有一個(gè)汽車(chē)的類(lèi),該類(lèi)中描述了汽車(chē)的普通特性和功能,而轎車(chē)的類(lèi)中不僅應(yīng)該包含汽車(chē)的特性和功能,還應(yīng)該增加轎車(chē)特有的功能,這時(shí),可以讓轎車(chē)類(lèi)繼承汽車(chē)類(lèi),在轎車(chē)類(lèi)中單獨(dú)添加轎車(chē)特性的方法就可以了。繼承性不僅增強(qiáng)了代碼復(fù)用性,提高了開(kāi)發(fā)效率,而且為程序的修改補(bǔ)充提供了便利。
3、多態(tài)性
多態(tài)性指的是在程序中允許出現(xiàn)重名現(xiàn)象,它指在一個(gè)類(lèi)中定義的屬性和方法被其他類(lèi)繼承后,它們可以具有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為,這使得同一個(gè)屬性和方法在不同的類(lèi)中具有不同的語(yǔ)義。例如,當(dāng)聽(tīng)到“Cut”這個(gè)單詞時(shí),理發(fā)師的行為是剪發(fā),演員的行為是停止表演不同的對(duì)象,所表現(xiàn)的行為是不一樣的。
想要真正理解Java面向?qū)ο蟮乃枷牍饪可厦娴慕榻B是不過(guò),需要通過(guò)大量的實(shí)踐去學(xué)習(xí)和理解,才能將面向?qū)ο笳嬲I(lǐng)悟。想要系統(tǒng)學(xué)習(xí)java編程,就到黑馬程序員。
猜你喜歡: