Java實(shí)驗(yàn)報(bào)告4-接口和多態(tài)_第1頁(yè)
Java實(shí)驗(yàn)報(bào)告4-接口和多態(tài)_第2頁(yè)
Java實(shí)驗(yàn)報(bào)告4-接口和多態(tài)_第3頁(yè)
Java實(shí)驗(yàn)報(bào)告4-接口和多態(tài)_第4頁(yè)
Java實(shí)驗(yàn)報(bào)告4-接口和多態(tài)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)臉報(bào)告[實(shí)驗(yàn)名稱]第四章接口和多態(tài) 【實(shí)驗(yàn)?zāi)康摹繉W(xué)習(xí)Java中抽象類的槪念學(xué)習(xí)接口的概念學(xué)習(xí)面向抽象的編程以及面向接口的編程【實(shí)驗(yàn)原理】Java程序設(shè)計(jì)基本原理面向?qū)ο蟪绦蛟O(shè)計(jì)基本原理【實(shí)驗(yàn)內(nèi)容】一、結(jié)合本次課程,簡(jiǎn)答:1、什么是上轉(zhuǎn)型對(duì)象?調(diào)用子類方法原則?將子類賦給父類時(shí),稱父類為子類的上轉(zhuǎn)型對(duì)象。方法原則:只能調(diào)用子類繼承和重寫的方法,不能調(diào)用子類中新的方法。2、 父類創(chuàng)建的對(duì)象和其子類的上轉(zhuǎn)型對(duì)象異同?相同點(diǎn):都可以對(duì)父類里的方法進(jìn)行調(diào)用。不同點(diǎn):上轉(zhuǎn)型對(duì)象調(diào)用的父類方法只能是子類重寫之后的,而父類創(chuàng)建的對(duì)象調(diào)用的是自身定義的。3、 為什么引入抽象類和抽象方法?抽象類只關(guān)心操作,不關(guān)心操作具體實(shí)現(xiàn)細(xì)節(jié),可以使程序員把精力集中在程序的設(shè)計(jì)上,而不必拘泥于細(xì)節(jié)的實(shí)現(xiàn)。也就是說(shuō)設(shè)計(jì)者只需設(shè)計(jì)好方法,而具體方法實(shí)現(xiàn)由子類的設(shè)計(jì)者實(shí)現(xiàn)。減輕了程序員的負(fù)擔(dān)。4、 接口和抽象類的異同?相同點(diǎn):二者都是需要背繼承和實(shí)現(xiàn)后才有實(shí)際意義,并且二者都有抽象類型。不同點(diǎn):抽象類屬于類,接口是一種新的數(shù)據(jù)類型;抽象類的屬性可以是常量和變量,而接口中只能是常量;抽象類中可以有抽象方法和普通方法,而接口中只能是抽象方法;抽象類將其抽象方法的實(shí)現(xiàn)交給其子類,而接口將其抽象方法的實(shí)現(xiàn)交給實(shí)現(xiàn)該接口的類。5、 接口和類的異同?相同點(diǎn):接口和類都是數(shù)據(jù)類型;屬性中都有常量,方法中都有抽象類方法。不同點(diǎn):類的屬性是變量和常量,方法需要實(shí)現(xiàn),而接口的屬性只能是常量,方法只需聲明;類中可以有抽象方法和普通方法,而接口中只能是抽象方法;類的屬性可以是常量和變量,而接口中只能是常量;類中可以有抽象方法和普通方法,而接口中只能是抽象方法。*Mt>Ue Sntfl*Mt>Ue Sntfl卜如2812 ?*28P{2-*Mt>Ue Sntfl*Mt>Ue Sntfl卜如2812 ?*28P{2-}}二、程序設(shè)計(jì)實(shí)驗(yàn)一:按要求完成程序設(shè)計(jì)一個(gè)抽象類People,具有抽象方法say();設(shè)計(jì)子類ChinaPeople,AmericaPeople,實(shí)現(xiàn)抽象方法say();兩個(gè)類的say()方法,分別輸出語(yǔ)句:我是中國(guó)人;我是美國(guó)人設(shè)計(jì)一個(gè)Speak類,提供speaking(Peoplep)方法,注意:其參數(shù)是抽象的People類型,Speaking方法中,要求以上轉(zhuǎn)型對(duì)象參數(shù)p,調(diào)用say方法的內(nèi)容;設(shè)計(jì)一個(gè)測(cè)試類Test,添加main函數(shù),分別創(chuàng)建中國(guó)人和美國(guó)人,測(cè)試speak類的使用;再增加一個(gè)子類AfricaPeople,實(shí)現(xiàn)抽象方法say();添加到測(cè)試類中。代碼:abstractclassPeople{abstractvoidsay():}classChinaPeopleextendsPeople{voidsay(){System,out.println(H我是中國(guó)人");}}classAmericaPeopleextendsPeople{voidsay(){System,out.println(M我是美國(guó)人");}}classAfricaPeopleextendsPeople{voidsay(){System,out.printlnC'我是非洲人");}}classspeak{voidspeaking(Peoplep){p.say();

publicclasstest{publicstaticvoidmain(Stringargs[]){speakss=newspeak():ChinaPeoplewang=newChinaPeopleO;AmericaPeoplescott=newAmericaPeopleO:AfricaPeoplenora二newAfricaPeopleO:ss?speaking(wang);ss.speaking(scott);ss.speaking(nora);⑸G??八;;?-M*1 HI?-. ?⑸G??八;;?-M*1 HI?-. ?r?,“? 譏:Ae3伶155】CS書曲 s,70114方丫訟MMSA人為'<kb?>a如K1億?#(j???}}實(shí)驗(yàn)二:接口A有一個(gè)f(inta,intb)方法B類實(shí)現(xiàn)接口A,重寫f()方法,返回最大公約數(shù);C類實(shí)現(xiàn)接口A,重寫f()方法,返回最小公倍數(shù);最小公倍數(shù)=(a*b)/最大公約數(shù)D類提供show(Aa)方法,以接口A的變量為參數(shù),在方法內(nèi),打印出a.f(4,6)方法的返回值;設(shè)計(jì)test類,包含main函數(shù),用D類生成對(duì)象,對(duì)象調(diào)用sho\v()方法分別以B類對(duì)象作為參數(shù)和以C類對(duì)象作為參數(shù),求最大公約數(shù)和最小公倍數(shù)!publicintf(inta,intb){//求最大公約數(shù)intr=1;intaa=a;intbb=b;while(r!=0){r=aa%bb;aa=bb;bb=r;}returnaa;}}代碼:interfaceA{intf(inta,intb);}classBimplementsA{publicintf(inta,intb){intr=1;intaa=a;intbb=b;while(r!=0){r=aa%bb;aa=bb;bb=r;}returnaa;classCimplementsA{publicintf(inta,intb){intr=1;intaa=a;intbb=b;while(r!=0){r=aa%bb;aa=bb;bb=r;returna*b/aa;)}classD{publicvoidshow(Aa){System.out.println(a?f(4,6));}}publicclasstest{publicstaticvoidmain(Stringargs[]){Dss=newD();Bpp=newB();Cqq=newC();ss.show(pp);ss.show(qq);如ffW<T 29>22 如ffW<T 29>22 EJ2人 P<??■夂M■AXA%j&C*wwctMy*n8?Za?4MM實(shí)驗(yàn)三:設(shè)計(jì)一個(gè)給班級(jí)學(xué)生成績(jī)排序的程序,具體要求如下:moIM?■夂M■AXA%j&C*wwctMy*n8?Za?4MM實(shí)驗(yàn)三:設(shè)計(jì)一個(gè)給班級(jí)學(xué)生成績(jī)排序的程序,具體要求如下:moIMfllBt?UMUlr?Msel^OT勺―X<C><w><4MlAlMCUf?rjt(l>lm*i>01mwitnw#釘L<c<rr>?aiUBtflllA“3???clotCglranuA'mgIMtllBta.IMMIg—11*tc■3iwtte?tcxai*$「?站^(X4W..(1)定義一個(gè)學(xué)生類student,包含姓名和分?jǐn)?shù)兩個(gè)屬性:Stringname;intscore;(2) 在主類中,定義一個(gè)學(xué)生類數(shù)組stu[],包含至少5個(gè)學(xué)生,對(duì)每個(gè)學(xué)生的姓名和分?jǐn)?shù)進(jìn)行賦值;(3) 對(duì)所有學(xué)生按照分?jǐn)?shù)進(jìn)行排序,并放入stu數(shù)組中;注意:如何排序,方法不定,請(qǐng)同學(xué)們思考。(4) 把所有學(xué)生信息,按照分?jǐn)?shù)從髙到底打印出來(lái)。代碼:classstudent{Stringname;intscore;student(|tringpp){this?name=ss;this?score=pp;}}publicclasstest{publicstaticvoidmain(Stringargs[]){student[]stu=newstudent[5]:studentsi二newstudent(Mwang"t78):students2=newstudent(Tiu",68);students3=newstudent(Mzhang,,l71);students4=newstudent(nli*.83);students5=newstudent(Mwei90);stu[0]=sl;

stu[l]=s2;stu[2]=s3;stu[3]=s4;stu[4]=s5;for(intj=0;j<=4;j++)for(intk=4;k>j;k—){if(stu[k].score>stu[k-1]?score){inttemp=stuLk]?score;stu[k]?score=stu[k-L]?score;stu[k~1]?score二temp;Stringtxt=stu[k]?name;stu[k]?name=stu[k-1]?name;stu[k-1]?name二txt;}}for(inti二0;i<=4;i++){System?out?println(stu[i]?name+w一一”十stu[i]?score);}}Stsinsnu*A;?cuS?e>x "八ppiI013etAtiaveldKAiniScribQ>?())<stvdant:] student[2):awotnv ,wotac piAtvcteAtaJ?r>Mtstudent "Mncw xt^deat .71):9VJt>=n^a1-t?ewatvdMic ?t*uteacstu(O|?xl;stu(S]9W(lJ-jOrroritmt-4:k>5?e—)<ir<?tu(k] Iknt k].aoar*!)?■ucr?:t?c*?tu(k].smm/*VA(k).£AX4??zu(>c>;].n*Aar9^A(k-l).rvSFbMW,fvrCan% I£7?tm.aut.>>incln|?cu(&].?*?????—????ua[S】.a*36B?>i§N£tfilo>?ceRescueNa><)?e知心gKjea3?&?*>?*Je<p93—也亍PV.1?<!%'ilrbika九>>?)H*?<?.?MJRE$^?ew§N£tfilo>?ceRescueNa><)?e知心gKjea3?&?*>?*Je<p93—也亍PV.1?<!%'ilrbika九>>?)H*?<?.?MJRE$^?ewUUk, -Itl :?:631八?C?Jt<p?Xb:ic?toticwidMinlSvxie^4x^3lJ)<ac*4^r?watuA?nt(K)|student?;?MWnWnu?2-m*at*4A*ntstudent>4-mw9VJdcnt?S-dcwatu{C]>?199VJl2]-?5r4tUl3]"44,torlint:f>0"”》c4>tr>3/k<-)<it(vxu(lc3.?csr?>r:aCX?[】.■=ar?)?tnt .99Q?CJ■zg.?<9or?^tu(?■*!}.aacfil).xcr??tsx::sv-nu?{kJ.nener?wrirl?ra?e-?a£lc-l).nwreicudent|M>hAXQez?l),tuowtt|"11*,03|:Wntd"wr&?“50”?AJ?A4i<4M..…?C?IflB*W€0ConrertM)4jng,???e*cka^dUMtoah.Qa2ne.務(wù)“j* i;Hae、.4?如怛r*i????*?'ec^{$?T0)i*vdtoritnt <Syvtcn.vrt.pr&ntlBIvtuUJ.n<M??-*.rbtarmvl??vde<&Q*d?*.rbtarmvl??v

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論