實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口

實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口

ID:35222254

大小:57.00 KB

頁(yè)數(shù):7頁(yè)

時(shí)間:2019-03-22

實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口_第1頁(yè)
實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口_第2頁(yè)
實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口_第3頁(yè)
實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口_第4頁(yè)
實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口_第5頁(yè)
資源描述:

《實(shí)驗(yàn)報(bào)告繼承、多態(tài)與接口》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、實(shí)驗(yàn)三繼承、多態(tài)與接口一、實(shí)驗(yàn)?zāi)康?.掌握J(rèn)ava的繼承機(jī)制;2.掌握對(duì)象引用的多態(tài)方法;3.掌握接口的特點(diǎn)、結(jié)構(gòu)和調(diào)用;4.掌握接口和繼承的混合使用。二、實(shí)驗(yàn)要求1.編寫(xiě)體現(xiàn)類(lèi)的繼承性(成員變量、成員方法、成員變量隱藏)的程序。2.編寫(xiě)體現(xiàn)類(lèi)的多態(tài)性(成員方法重載、構(gòu)造方法重載)的程序。3.編程使用系統(tǒng)接口的技術(shù)和創(chuàng)建自定義接口的方法。三、實(shí)驗(yàn)內(nèi)容?(一)類(lèi)的繼承性練習(xí)1.理解繼承的含義新類(lèi)可從現(xiàn)有的類(lèi)中產(chǎn)生,并保留現(xiàn)有類(lèi)的成員變量和方法并可根據(jù)需要對(duì)它們加以修改。新類(lèi)還可添加新的變量和方法。這種現(xiàn)象就稱(chēng)

2、為類(lèi)的繼承。當(dāng)建立一個(gè)新類(lèi)時(shí),不必寫(xiě)出全部成員變量和成員方法。只要簡(jiǎn)單地聲明這個(gè)類(lèi)是從一個(gè)已定義的類(lèi)繼承下來(lái)的,就可以引用被繼承類(lèi)的全部成員。被繼承的類(lèi)稱(chēng)為父類(lèi)或超類(lèi)(superclass),這個(gè)新類(lèi)稱(chēng)為子類(lèi)。Java提供了一個(gè)龐大的類(lèi)庫(kù)讓開(kāi)發(fā)人員繼承和使用。設(shè)計(jì)這些類(lèi)是出于公用的目的,因此,很少有某個(gè)類(lèi)恰恰滿足你的需要。你必須設(shè)計(jì)自己的能處理實(shí)際問(wèn)題的類(lèi),如果你設(shè)計(jì)的這個(gè)類(lèi)僅僅實(shí)現(xiàn)了繼承,則和父類(lèi)毫無(wú)兩樣。所以,通常要對(duì)子類(lèi)進(jìn)行擴(kuò)展,即添加新的屬性和方法。這使得子類(lèi)要比父類(lèi)大,但更具特殊性,代表著一組更具

3、體的對(duì)象。繼承的意義就在于此。2.創(chuàng)建公共類(lèi)SY3_1_Pl???????編寫(xiě)程序文件SY3_1_P.java,源代碼如下:publicclassSY3_1_P{protectedStringxm;//具有保護(hù)修飾符的成員變量protectedintxh;voidsetdata(Stringm,inth){//設(shè)置數(shù)據(jù)的方法xm=m;xh=h;}publicvoidprint(){//輸出數(shù)據(jù)的方法System.out.println(xm+","+xh);}}l???????編譯SY3_1_P.java,

4、產(chǎn)生類(lèi)文件SY3_1_P.class。3.創(chuàng)建繼承的類(lèi)l???????程序功能:通過(guò)SY3_1_P類(lèi)產(chǎn)生子類(lèi)SY3_2,其不僅具有父類(lèi)的成員變量xm(姓名)、xh(學(xué)號(hào)),還定義了新成員變量xy(學(xué)院)、xi(系)。在程序中調(diào)用了父類(lèi)的print方法,同時(shí)可以看出子類(lèi)也具有該方法。l???????編寫(xiě)SY3_2.java程序,源代碼如下:classSY3_2extendsSY3_1_P{protectedStringxy;protectedStringxi;publicstaticvoidmain(Stri

5、ngargs[]){SY3_1_Pp1=newSY3_1_P();p1.setdata("帥零",12321);p1.print();SY3_2s1=newSY3_2();s1.setdata("郭麗娜",12345);//調(diào)用父類(lèi)的成員方法s1.xy="經(jīng)濟(jì)管理學(xué)院";//訪問(wèn)本類(lèi)的成員變量s1.xi="信息管理系";//訪問(wèn)本類(lèi)的成員變量s1.print();System.out.print(s1.xm+","+s1.xy+","+s1.xi);}}l???????編譯并運(yùn)行程序注意:公共類(lèi)SY3_1_

6、P與SY3_2類(lèi)要在同一文件夾(路徑)內(nèi)。(二)類(lèi)的多態(tài)性練習(xí)1.?理解類(lèi)的多態(tài)性類(lèi)的繼承發(fā)生在多個(gè)類(lèi)之間,而類(lèi)的多態(tài)只發(fā)生在同一個(gè)類(lèi)上。在一個(gè)類(lèi)中,可以定義多個(gè)同名的方法,只要確定它們的參數(shù)個(gè)數(shù)和類(lèi)型不同。這種現(xiàn)象稱(chēng)為類(lèi)的多態(tài)。多態(tài)使程序簡(jiǎn)潔,為程序員帶來(lái)很大便利。在OOP中,當(dāng)程序要實(shí)現(xiàn)多個(gè)相近的功能時(shí),就給相應(yīng)的方法起一個(gè)共同的名字,用不同的參數(shù)代表不同的功能。這樣,在使用方法時(shí)不論傳遞什么參數(shù),只要能被程序識(shí)別就可以得到確定的結(jié)果。類(lèi)的多態(tài)性體現(xiàn)在方法的重載(overload)上,包括成員方法和構(gòu)造

7、方法的重載。2.?方法的重載方法的重載是指對(duì)同名方法的不同使用方式。l???????程序功能:對(duì)不同的數(shù)進(jìn)行排序輸出。在IntSort類(lèi)中定義3個(gè)同名的方法sort,l???????編寫(xiě)SY3_3.java文件,源代碼如下:importjava.awt.Graphics;importjava.applet.Applet;classIntSort{publicStringsort(inta,intb){if(a>b)returna+""+b;elsereturnb+""+a;}publicStringsort

8、(inta,intb,intc){intswap;if(a

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。