面向?qū)ο缶幊?OOP)
Java是支持并發(fā),基于類的以及面向?qū)ο蟮囊环N計(jì)算機(jī)編程語言.以下列舉了面向?qū)ο缶幊痰膬?yōu)勢:
模塊化編程,使維護(hù)和修改更加容易
代碼重用
提高代碼的可靠性以及靈活性
提高代碼可讀性
面向?qū)ο缶幊逃衅浞浅C黠@的特性,比如說封裝,繼承,多態(tài)和抽象.下面我們來分析一下每種特性.
封裝(Encapsulation)
封裝,提供的對(duì)象隱藏內(nèi)部特性和行為的一種能力,每個(gè)對(duì)象提供了一些方法,其他的對(duì)象可以訪問并改變其內(nèi)部數(shù)據(jù)。在Java中,提供了三種訪問修飾符:公有的,私有的以及保護(hù)的。每個(gè)修飾符都設(shè)定了不同的訪問權(quán)限,這個(gè)權(quán)限設(shè)置不會(huì)因?yàn)榘牟煌胁町悺?/p>
下面是使用封裝的一些優(yōu)點(diǎn):
通過隱藏屬性來保護(hù)對(duì)象的內(nèi)部信息
因?yàn)榭梢元?dú)立的修改或者擴(kuò)展對(duì)象的行為,從而提高代碼的可用性以及維護(hù)性
隔離,通過阻止對(duì)象使用不希望的互動(dòng)方式來交互,以此來提高模塊化程度。
多態(tài)(Polymorphism)
多態(tài)就是針對(duì)不同的基礎(chǔ)數(shù)據(jù)類型呈現(xiàn)相同接口的一種能力,多態(tài)類型就是其操作可以適用于不同類型值的一種類型。
繼承(Inheritance)
繼承提供了一個(gè)對(duì)象從基類獲取字段和方法的一種能力.繼承提供了代碼的重用性,并且在不更改現(xiàn)有類的情況下,對(duì)現(xiàn)有類增加額外的功能。
抽象(Abstraction)
抽象是從具體的實(shí)例中分離想法的過程,根據(jù)他們各自的功能而非具體的實(shí)現(xiàn)來開發(fā)類.Java中支持創(chuàng)建和存在暴露接口的抽象類,而沒有包括方法的具體實(shí)現(xiàn)。抽象方法的宗旨就是將類的行為和具體實(shí)現(xiàn)分離開。
抽象和封裝的異同
抽象和封裝是個(gè)互補(bǔ)的概念。一方面,抽象專注在對(duì)象的行為上,而另外一方面,封裝專注于對(duì)象的行為的具體實(shí)現(xiàn)。封裝是通過隱藏對(duì)象的內(nèi)部信息來實(shí)現(xiàn)的,因此也可以被看做是抽象的一種策略。
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“2020年實(shí)用的Java面向?qū)ο竺嬖囶}”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java面試題