javaOOP的整理.doc_第1頁(yè)
javaOOP的整理.doc_第2頁(yè)
javaOOP的整理.doc_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java面向?qū)ο蠓庋b(encapsulation)A:為什么使用封裝?不適用封裝,我們沒(méi)有辦法對(duì)類的屬性進(jìn)行。所以我們將屬性封裝起來(lái),增加一些方法來(lái)訪問(wèn)屬性。B: 什么是封裝?封裝就是將屬性私有化,提供一些共有的方法訪問(wèn)私有的屬性。C:怎樣封裝?修改屬性的可見(jiàn)性來(lái)限制對(duì)屬性的訪問(wèn),并為每一個(gè)屬性創(chuàng)建一對(duì)取值(getter)方法和賦值(setter)方法,用于對(duì)屬性的訪問(wèn)。在賦值或者取值時(shí)加一些對(duì)屬性的存取限制。構(gòu)造方法(constructor)A: 構(gòu)造方法負(fù)責(zé)對(duì)成員的初始化工作,為實(shí)例變量賦予合適的初始值。以下規(guī)則它必須滿足:方法名與類名相同、沒(méi)有返回值類型。:實(shí)例化一個(gè)對(duì)象,其實(shí)就是去調(diào)用這個(gè)對(duì)象的構(gòu)造方法。C: 還有就是帶參數(shù)的構(gòu)造方法,在使用時(shí):傳遞的值和構(gòu)造方法的參數(shù)必須在個(gè)數(shù)、數(shù)據(jù)類型、次序上相互匹配。我們通過(guò)調(diào)用帶參數(shù)的構(gòu)造方法,可以一并完成對(duì)象成員的初始化工作。簡(jiǎn)化了對(duì)象初始化的代碼。方法的重載A: 在很多情況下我們需要為某個(gè)類編寫(xiě)很多構(gòu)造方法,以便表現(xiàn)不同的初始化工作。這就是構(gòu)造方法的重載B: 執(zhí)行重載的方法時(shí),java虛擬機(jī)先判斷給定的參數(shù)類型。然后決定執(zhí)行哪個(gè)方法。 繼承(extends)A: 父類中只是定義一些通用的屬性和方法,子類自動(dòng)繼承父類的屬性和方法。子類也可以定義特定的屬性和方法。在父類中的方法,子類也可以重寫(xiě)(override)方法重寫(xiě)B(tài): 子類的構(gòu)造方法中,可以通過(guò)super關(guān)鍵字調(diào)用父類的構(gòu)造方法。可以完成子類的部分初始化工作。C: 創(chuàng)建對(duì)象時(shí),先創(chuàng)建父類對(duì)象,在創(chuàng)建子類對(duì)象。如果沒(méi)有顯式調(diào)用父類的構(gòu)造方法,將自動(dòng)調(diào)用父類的無(wú)參構(gòu)造方法。D: 在子類中,顯式調(diào)用父類的構(gòu)造方法時(shí),super語(yǔ)句必須放到構(gòu)造方法的第一條語(yǔ)句E: 如果子類重寫(xiě)了父類的方法,可以在自己的方法里,通過(guò)supper關(guān)鍵字調(diào)用父類的方法。多態(tài)(Polymorphism)A: 為什么使用多態(tài)?增加代碼的可擴(kuò)展性,可維護(hù)性。B: 什么是多態(tài)?多態(tài)是具有表現(xiàn)多種形態(tài)的嗎、能力特征。更術(shù)語(yǔ)的說(shuō)法是:同一個(gè)實(shí)現(xiàn)接口 ,使用不同的實(shí)例而執(zhí)行不同的操C: 如何實(shí)現(xiàn)多態(tài)?1.把父類類型作為參數(shù)類型,把父類自己或其子類對(duì)象作為參數(shù)傳入??梢员苊饷恳粋€(gè)子類都傳一次。2.子類重寫(xiě)父類的方法,使得其他類在于其父類接觸時(shí),子類自己有不同的方法實(shí)現(xiàn)。3.運(yùn)行時(shí),根據(jù)實(shí)際創(chuàng)建對(duì)象類型動(dòng)態(tài)決定使用那個(gè)方法。接口(interface)一個(gè)java接口是一個(gè)方法特征的集合,但沒(méi)有方法的實(shí)現(xiàn)。Java接口中的方法在不同的地方被實(shí)現(xiàn),可以有完全不同的行為。A: 使用接口時(shí),注意以下幾點(diǎn):1. java啊接口不能被實(shí)例化。2. java接口中聲明的成員自動(dòng)設(shè)置為public,因此java接口中不能聲明privat成員。3. java接口中不能出現(xiàn)方法具體實(shí)現(xiàn)。4. 實(shí)現(xiàn)某個(gè)接口就必須實(shí)現(xiàn)其中定義的所有方法。B: 繼承與接口使用繼承或者java接口都可以為我們帶來(lái)很多多態(tài)性的好處,一般情況下,當(dāng)兩個(gè)類之間符合“is a”的關(guān)系時(shí),并且子類可以重復(fù)使用父類的部分代碼,我們就是用繼承關(guān)系實(shí)現(xiàn),其他情況下我們選擇java接口實(shí)現(xiàn)。C: 面向接口編程面向接口編程就意味著:開(kāi)發(fā)系統(tǒng)時(shí)主題構(gòu)架使用接口,接口構(gòu)成主體骨架。這樣就可以更換實(shí)現(xiàn)接口的類來(lái)更換系統(tǒng)實(shí)現(xiàn)。某個(gè)方法接受的參數(shù)類型為:接口。那么我們就可以傳遞任何一個(gè)接口的實(shí)現(xiàn)類來(lái)調(diào)用此方法。運(yùn)行時(shí),java虛擬機(jī)會(huì)根據(jù)實(shí)際創(chuàng)建的對(duì)象類型調(diào)用不同的方法實(shí)現(xiàn)。就意味著:可以通過(guò)更換實(shí)現(xiàn)接口的類來(lái)更換系統(tǒng)的實(shí)現(xiàn)。面向接口編程的優(yōu)點(diǎn):可以實(shí)現(xiàn)接口、可以實(shí)現(xiàn)分離。能夠在客戶端未知的情況下修改實(shí)現(xiàn)代碼。那么神馬時(shí)候應(yīng)該抽象出java接口呢? 一種是用在層與層之間的調(diào)用,層與層之間最忌諱耦合度過(guò)高或者改變過(guò)于頻繁。設(shè)計(jì)優(yōu)秀的接口能夠解決這個(gè)問(wèn)題。 另一種使用在那些不穩(wěn)定的部分上。如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論