實(shí)驗(yàn)五-繼承與接口_第1頁(yè)
實(shí)驗(yàn)五-繼承與接口_第2頁(yè)
實(shí)驗(yàn)五-繼承與接口_第3頁(yè)
實(shí)驗(yàn)五-繼承與接口_第4頁(yè)
實(shí)驗(yàn)五-繼承與接口_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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í)驗(yàn)五繼承與接口實(shí)驗(yàn)?zāi)康?、掌握類(lèi)的繼承細(xì)節(jié)內(nèi)容,包括子類(lèi)的繼承、子類(lèi)對(duì)象創(chuàng)立、成員變量的繼承與隱藏、方法的繼承與重寫(xiě)2、掌握重寫(xiě)的目的以及怎樣使用super關(guān)鍵字3、掌握上轉(zhuǎn)型對(duì)象與接口回調(diào)技術(shù)4、掌握類(lèi)怎樣實(shí)現(xiàn)接口,及面向接口的編程思想實(shí)驗(yàn)內(nèi)容1、根據(jù)附錄里的源代碼,按照注釋要求,完成代碼填空,使程序能夠運(yùn)行得出結(jié)果。1〕實(shí)驗(yàn)1中國(guó)人與美國(guó)人2〕實(shí)驗(yàn)2銀行與利息3〕實(shí)驗(yàn)3面積之和4〕實(shí)驗(yàn)4歌手大賽5〕實(shí)驗(yàn)5天氣預(yù)報(bào)2、設(shè)計(jì)編寫(xiě)程序完成以下任務(wù)。1〕根據(jù)要求修改實(shí)驗(yàn)2,參照建設(shè)銀行再編寫(xiě)一個(gè)商業(yè)銀行〔廣發(fā)行〕,讓程序輸出8000元在廣發(fā)行8年零212天的利息。2〕根據(jù)要求修改實(shí)驗(yàn)3,再增加一種幾何圖形〔梯形〕,并讓主類(lèi)中的tuxing的某些元素是梯形的上轉(zhuǎn)型對(duì)象。3〕仿照實(shí)驗(yàn)5編寫(xiě)一個(gè)程序?qū)崿F(xiàn)模擬水杯中的水在不同溫度下可能出現(xiàn)的狀態(tài)。4〕編寫(xiě)一個(gè)接口并創(chuàng)立兩個(gè)實(shí)現(xiàn)該接口的類(lèi)A、B。A、B類(lèi)實(shí)現(xiàn)了接口的f方法,A類(lèi)的f方法內(nèi)容為計(jì)算1!+3!+5!……+9!并返回結(jié)果,B類(lèi)的f方法內(nèi)容為計(jì)算2!+4!+6!……+10!也返回結(jié)果;再編一個(gè)執(zhí)行類(lèi),執(zhí)行類(lèi)運(yùn)行時(shí)要求通過(guò)接口回調(diào)方式用同一個(gè)對(duì)象實(shí)例分別調(diào)用A類(lèi)的f方法和B類(lèi)的f方法。5〕(1)定義一個(gè)汽車(chē)類(lèi)Vehicle,要求如下:〔知識(shí)點(diǎn):類(lèi)的繼承方法的覆蓋〕〔a〕屬性包括:汽車(chē)品牌brand〔String類(lèi)型〕、顏色color〔String類(lèi)型〕和速度speed〔double類(lèi)型〕?!瞓〕至少提供一個(gè)有參的構(gòu)造方法〔要求品牌和顏色可以初始化為任意值,但速度的初始值必須為0〕?!瞔〕為屬性提供訪問(wèn)器方法。注意:汽車(chē)品牌一旦初始化之后不能修改?!瞕〕定義一個(gè)一般方法run(),用打印語(yǔ)句描述汽車(chē)奔跑的功能。定義測(cè)試類(lèi)VehicleTest,在其main方法中創(chuàng)立一個(gè)品牌為“benz〞、顏色為“black〞的汽車(chē)。(2)定義一個(gè)Vehicle類(lèi)的子類(lèi)轎車(chē)類(lèi)Car,要求如下:〔a〕轎車(chē)有自己的屬性載人數(shù)loader〔int類(lèi)型〕?!瞓〕提供該類(lèi)初始化屬性的構(gòu)造方法。〔c〕重新定義run(),用打印語(yǔ)句描述轎車(chē)奔跑的功能?!瞕〕定義測(cè)試類(lèi)Test,在其main方法中創(chuàng)立一個(gè)品牌為“Honda〞、顏色為“red〞,載人數(shù)為2人的轎車(chē)。面向?qū)ο蟾壮鲞^(guò)類(lèi)似的,這個(gè)把繼承引入了6〕Cola公司的雇員分為以下假設(shè)干類(lèi):(知識(shí)點(diǎn):多態(tài))(1)ColaEmployee:這是所有員工總的父類(lèi),屬性:?jiǎn)T工的姓名,員工的生日月份。方法:getSalary(intmonth)根據(jù)參數(shù)月份來(lái)確定工資,如果該月員工過(guò)生日,那么公司會(huì)額外獎(jiǎng)勵(lì)100元。(2)SalariedEmployee: ColaEmployee的子類(lèi),拿固定工資的員工。屬性:月薪(3)HourlyEmployee:ColaEmployee的子類(lèi),按小時(shí)拿工資的員工,每月工作超出160小時(shí)的局部按照1.5倍工資發(fā)放。屬性:每小時(shí)的工資、每月工作的小時(shí)數(shù)(4)SalesEmployee:ColaEmployee的子類(lèi),銷(xiāo)售人員,工資由月銷(xiāo)售額和提成率決定。屬性:月銷(xiāo)售額、提成率(5)定義一個(gè)類(lèi)Company,在該類(lèi)中寫(xiě)一個(gè)方法,調(diào)用該方法可以打印出某月某個(gè)員工的工資數(shù)額,寫(xiě)一個(gè)測(cè)試類(lèi)TestCompany,在main方法,把假設(shè)干各種類(lèi)型的員工放在一個(gè)ColaEmployee數(shù)組里,并單元出數(shù)組中每個(gè)員工當(dāng)月的工資。知識(shí)點(diǎn):繼承與多態(tài)7〕利用接口實(shí)現(xiàn)動(dòng)態(tài)的創(chuàng)立對(duì)象:〔知識(shí)點(diǎn):接口〕〔1〕創(chuàng)立4個(gè)類(lèi)1蘋(píng)果2香蕉3葡萄4園丁〔2〕在三種水果的構(gòu)造方法中打印一句話.以蘋(píng)果類(lèi)為例classapple{ publicapple() { System.out.println(“創(chuàng)立了一個(gè)蘋(píng)果類(lèi)的對(duì)象〞);}}〔3〕類(lèi)圖如下:〔4〕要求從控制臺(tái)輸入一個(gè)字符串,根據(jù)字符串的值來(lái)判斷創(chuàng)立三種水果中哪個(gè)類(lèi)的對(duì)象。運(yùn)行結(jié)果如圖:實(shí)驗(yàn)步驟實(shí)驗(yàn)一、1實(shí)驗(yàn)一、2實(shí)驗(yàn)一、3實(shí)驗(yàn)一、4實(shí)驗(yàn)一、5實(shí)驗(yàn)二、1packageSFirst;publicclassBank{intsavedMoney;intyear;doubleinterest;doubleinterestRate=0.29;publicdoublecomputerInterest(){interest=year*interestRate*savedMoney;returninterest; }publicvoidsetInterestRate(doublerate){interestRate=rate; }}packageSFirst;publicclassGuangFaBankextendsBank{doubleyear;publicdoublecomputerInterest(){super.year=(int)year;doubler=year-(int)year;intday=(int)(r*1000);doubleyearInterest=superputerInterest();//【代碼1】//super調(diào)用隱藏的computerInterest()方法doubledayInterest=day*0.0001*savedMoney;interest=yearInterest+dayInterest;returninterest; }}packageSFirst;publicclassSaveMoney{publicstaticvoidmain(String[]args){intamount=8000; GuangFaBankbank1=newGuangFaBank(); bank1.savedMoney=amount; bank1.year=8.212; bank1.setInterestRate(0.035);doubleinterest1=bank1puterInterest(); System.out.println("8000元在廣發(fā)行8年零212天的利息為:"+interest1); }}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)二、2packageSSecond;publicabstractclassGeometry{publicabstractdoublegetArea();}packageSSecond;publicclassMainClass{publicstaticvoidmain(String[]args){ Trapezoidtuxing=newTrapezoid(4.7,7.9,7);//有29個(gè)Geometry對(duì)象doubles=tuxing.getArea(); System.out.printf("梯形的面積為:\n%f",s); }}packageSSecond;publicclassTrapezoidextendsGeometry{doublea,b,h; Trapezoid(doublea,doubleb,doubleh){this.a=a;this.b=b;this.h=h; }//【代碼2】//重寫(xiě)getArea()方法@OverridepublicdoublegetArea(){//TODOAuto-generatedmethodstubreturn(a+b)*h/2; }}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)二、3packageSThird;publicclassBoiledStateimplementsWaterState{@OverridepublicvoidshowState(){//TODOAuto-generatedmethodstub System.out.println("開(kāi)水。"); }//【代碼3】//重寫(xiě)publicvoidshowState()方法}packageSThird;publicclassIceStateimplementsWaterState{publicvoidshowState(){ System.out.print("結(jié)冰。"); }}packageSThird;publicclassLittleWarmStateimplementsWaterState{//【代碼1】//重寫(xiě)publicvoidshowState()方法@OverridepublicvoidshowState(){//TODOAuto-generatedmethodstub System.out.println("微涼。"); }}packageSThird;publicclassWarmStateimplementsWaterState{@OverridepublicvoidshowState(){//TODOAuto-generatedmethodstub System.out.println("溫水。"); }//【代碼2】//重寫(xiě)publicvoidshowState()方法}packageSThird;publicclassWater{ WaterStatestate;publicvoidshow(){state.showState(); }publicvoidsetState(WaterStates){state=s; }}packageSThird;publicclassWaterForecast{publicstaticvoidmain(String[]args){ WaterwaterState=newWater(); System.out.print("\n溫度在90-100時(shí)水杯水的狀態(tài):"); waterState.setState(newBoiledState()); waterState.show(); System.out.print("\n溫度在50--80時(shí)水杯水的狀態(tài):"); waterState.setState(newWarmState()); waterState.show(); System.out.print("\n溫度在30-50時(shí)水杯水的狀態(tài):"); waterState.setState(newLittleWarmState()); waterState.show(); System.out.print("\n溫度在0度下時(shí)水杯水的狀態(tài):"); waterState.setState(newIceState()); waterState.show(); }}packageSThird;publicinterfaceWaterState{publicvoidshowState();}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)四packageSForth;publicclassAimplementsobject{publicintf(inta,intb){intsum=0,temp=1;for(inti=a;i<=b;i=i+2){for(intj=1;j<=i;j++){ temp*=j; } sum+=temp; temp=1; }returnsum; }}packageSForth;publicclassBimplementsobject{publicintf(inta,intb){intsum=0,temp=1;for(inti=a;i<=b;i=i+2){for(intj=1;j<=i;j++){ temp*=j; } sum+=temp; temp=1; }returnsum; }}packageSForth;publicinterfaceobject{intf(inta,intb);}packageSForth;publicclassTest{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub Aa=newA(); Bb=newB();intsum1=a.f(1,9);intsum2=b.f(2,10); System.out.println("1!+3!+5!……+9!的結(jié)果為:"+sum1); System.out.println("2!+4!+6!……+10!的結(jié)果為:"+sum2); }}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)五packageSFifth;publicclassCarextendsVehicle{intloader;publicCar(Stringbrand,Stringcolor,doublespeed,intl){super(brand,color,speed);this.loader=l;//TODOAuto-generatedconstructorstub }publicvoidrun(){ System.out.println("顏色為"+super.getColor()+"的"+super.getBrand()+"汽車(chē)的時(shí)速為:"+super.getSpeed()); }}packageSFifth;publicclassTest{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub Carc=newCar("Honda","red",300.0,20); c.run(); }}packageSFifth;publicclassVehicle{privateStringbrand="BMW";//汽車(chē)品牌privateStringcolor="red";//汽車(chē)顏色privatedoublespeed=0;//汽車(chē)時(shí)速publicStringgetColor(){returncolor; }publicvoidsetColor(Stringcolor){this.color=color; }publicdoublegetSpeed(){returnspeed; }publicvoidsetSpeed(doublespeed){this.speed=speed; }publicStringgetBrand(){returnbrand; }publicVehicle(Stringbrand,Stringcolor,doublespeed){//TODOAuto-generatedconstructorstubthis.brand=brand;this.color=color;this.speed=speed; }publicvoidrun(){ System.out.println(brand+"汽車(chē)的時(shí)速為:"+speed); }}packageSFifth;publicclassVehicleTest{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub Vehiclev=newVehicle("benz","black",200.0);v.run(); }}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)六packageSSixth;publicclassColaEmployee{ Stringname;//員工姓名intmonth;//員工生日月份publicStringgetName(){returnname; }publicvoidsetName(Stringname){=name; }publicintgetMonth(){returnmonth; }publicvoidsetMonth(intmonth){this.month=month; }intgetSalary(intmonth){if(month==this.month) {return100; }else{return0; } }}packageSSixth;publicclassCompanyextendsColaEmployee{voidprint(Stringname,doublesalary,intmonth){ StringName=name;doubleSalary=salary;intMonth=month; System.out.println("員工"+Name+"在"+Month+"月"+"的薪資為:"+Salary); }}packageSSixth;publicclassHourlyEmployeeextendsColaEmployee{doublehours;//每月工作的時(shí)間doublehsalary;//每小時(shí)的工資 Companyc=newCompany();publicHourlyEmployee(Stringname,intmonth,doublehours,doublehsalary){//TODOAuto-generatedconstructorstubthis.hours=hours;this.hsalary=hsalary;this.month=month;=name; }publicdoublegetHours(){returnhours; }publicvoidsetHours(doublehours){this.hours=hours; }publicdoublegetHsalary(){returnhsalary; }publicvoidsetHsalary(doublehsalary){this.hsalary=hsalary; }publicintgetSalary(intmonth){if(this.hours<=160){this.hsalary=this.hsalary*this.hours+super.getSalary(month); c.print(name,hsalary,month);return0; }else{this.hsalary=(this.hours-160)*this.hsalary*1.5+160*this.hsalary+super.getSalary(month); c.print(name,hsalary,month);return0; } }}packageSSixth;publicclassSalariedEmployeeextendsColaEmployee{doublesalary;//員工固定薪資〔按月〕 Companyc=newCompany();publicSalariedEmployee(Stringname,intmonth,doublesalary){//TODOAuto-generatedconstructor=name;this.month=month;this.salary=salary; }publicintgetSalary(intmonth) {this.salary=salary+super.getSalary(month); c.print(name,salary,month);return0; }}packageSSixth;publicclassSalesEmployeeextendsColaEmployee{doublemoney;//月銷(xiāo)售額doubleticheng;//提成率 Companyc=newCompany();publicSalesEmployee(Stringname,intmonth,doublemoney,doubleticheng){//TODOAuto-generatedconstructorstubthis.money=money;this.month=month;=name;this.ticheng=ticheng; }publicdoublegetMoney(){returnmoney; }publicvoidsetMoney(doublemoney){this.money=money; }publicdoublegetTicheng(){returnticheng; }publicvoidsetTicheng(doubleticheng){this.ticheng=ticheng; }publicintgetSalary(intmonth) {this.money=money+super.getSalary(month)+(money*ticheng); c.print(name,money,month);return0; }}packageSSixth;publicclassSalesEmployeeextendsColaEmployee{doublemoney;//月銷(xiāo)售額doubleticheng;//提成率 Companyc=newCompany();publicSalesEmployee(Stringname,intmonth,doublemoney,doubleticheng){//TODOAuto-generatedconstructorstubthis.money=money;this.month=month;=name;this.ticheng=ticheng; }publicdoublegetMoney(){returnmoney; }publicvoidsetMoney(doublemoney){this.money=money; }publicdoublegetTicheng(){returnticheng; }publicvoidsetTicheng(doubleticheng){this.ticheng=ticheng; }publicintgetSalary(intmonth) {this.money=money+super.getSalary(month)+(money*ticheng); c.print(name,money,month);return0; }}packageSSixth;publicclassTestCompany{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub ColaEmployee[]ce=newColaEmployee[3]; ce[0]=newSalariedEmployee("aa",9,3000.0); ce[1]=newHourlyEmployee("bb",3,2000.0,180); ce[2]=newSalesEmployee("cc",6,6000,0.3); ce[0].getSalary(2); ce[1].getSalary(2); ce[2].getSalary(2); }}實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)七packageSSeventh;publicclassappleimplementsFruit{publicvoidapple(){//TODOAuto-generatedmethodstub System.out.println("創(chuàng)立了一個(gè)蘋(píng)果類(lèi)的對(duì)象"); }@Overridepublicvoidbanana(){//TODOAuto-generatedmethodstub }@Overridepublicvoidpear(){//TODOAuto-generatedmethodstub }}packageSSeventh;publicclassbananaimplementsFruit{publicvoidbanana(){//TODOAuto-generatedmethodstub System.out.println("創(chuàng)立了一個(gè)香蕉類(lèi)的對(duì)象"); }@Overridepublicvoidapple(){//TODOAuto-generatedmethodstub }@Overridepublicvoidpear(){//TODOAuto-generatedmethodstub }}packageSSeventh;publicinterfaceFruit{voidapple();voidbanana();voidpear();}packageSSeventh;publicclasspearimplementsFruit{publicvoidpear(){//TODOAuto-generatedmethodstub System.out.println("創(chuàng)立了一個(gè)梨子類(lèi)的對(duì)象"); }@Overridepublicvoidapple(){//TODOAuto-generatedmethodstub }@Overridepublicvoidbanana(){//TODOAuto-generatedmethodstub }}packageSSeventh;importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//Fruitf=newbanana(); Scannerinput=newScanner(System.in); System.out.println("請(qǐng)輸入您要?jiǎng)?chuàng)立的類(lèi):"); Stringattr=input.nextLine();if(attr.equals("banana")){ Fruitfruit=newbanana(); fruit.banana(); }elseif(attr.equals("apple")){ Fruitfruit=newapple(); fruit.apple(); }elseif(attr.equals("pear")){ Fruitfruit=newpear(); fruit.pear(); }elseSystem.out.println("輸入有誤!"); }}實(shí)驗(yàn)結(jié)果評(píng)分標(biāo)準(zhǔn)A——內(nèi)容功能完善,編程風(fēng)格好,人機(jī)接口界面好;B——內(nèi)容功能完善,編程風(fēng)格良好,人機(jī)接口界面良好;C——完成必做內(nèi)容;D——能完成必做內(nèi)容;E——未按時(shí)完成必做內(nèi)容,或者抄襲〔雷同者全部為E〕.參照書(shū)上實(shí)驗(yàn)按模版要求,將【代碼】替換為Java程序代碼,編寫(xiě)好完整的程序文檔,最后運(yùn)行得到的相關(guān)文件,把實(shí)驗(yàn)所得文件一起打包上交?!矇嚎s包的文件名為:學(xué)號(hào)后三位和名字開(kāi)頭字母,如109zhh.RAR|ZIP〕附錄:實(shí)驗(yàn)1中國(guó)人與美國(guó)人模板代碼People.javapublicclassPeople{ protecteddoubleweight,height; publicvoidspeakHello(){ System.out.println("yayayaya"); } publicvoidaverageHeight(){ height=173; System.out.println("averageheight:"+height); } publicvoidaverageWeight(){ weight=70; System.out.println("averageweight:"+weight); }}ChinaPeople.javapublicclassChinaPeopleextendsPeople{ publicvoidspeakHello(){ System.out.println("你好"); } publicvoidaverageHeight(){ height=168.78; System.out.println("中國(guó)人的平均身高:"+height+"厘米"); } //【代碼1】//重寫(xiě)publicvoidaverageWeight()方法,輸出:"中國(guó)人的平均體重:65公斤" publicvoidchinaGongfu(){ System.out.println("坐如鐘,站如松,睡如弓"); }}AmericanPeople.javapublicclassAmericanPeopleextendsPeople{ //【代碼2】//重寫(xiě)publicvoidspeakHello()方法,輸出:"Howdoyoudo" //【代碼3】//重寫(xiě)publicvoidaverageHeight()方法,輸出:"American'saverageheight:176cm" publicvoidaverageWeight(){ weight=75; System.out.println("American'saverageweight:"+weight+"kg"); } publicvoidamericanBoxing(){ System.out.println("直拳、鉤拳、組合拳"); }}BeijingPeople.javapublicclassBeijingPeopleextendsChinaPeople{ //【代碼4】//重寫(xiě)publicvoidaverageHeight()方法,輸出:"北京人的平均身高:172.5厘米" //【代碼5】//重寫(xiě)publicvoidaverageWeight()方法,輸出:"北京人的平均體重:70公斤" publicvoidbeijingOpera(){ System.out.println("花臉、青衣、花旦和老生"); }}Example.javapublicclassExample{ publicstaticvoidmain(String[]args){ ChinaPeoplechinaPeople=newChinaPeople(); AmericanPeopleamericanPeople=newAmericanPeople(); BeijingPeoplebeijingPeople=newBeijingPeople(); chinaPeople.speakHello(); americanPeople.speakHello(); beijingPeople.speakHello(); chinaPeople.averageHeight(); americanPeople.averageHeight(); beijingPeople.averageHeight(); chinaPeople.averageWeight(); americanPeople.averageWeight(); beijingPeople.averageWeight(); chinaPeople.chinaGongfu(); americanPeople.americanBoxing(); beijingPeople.beijingOpera(); beijingPeople.chinaGongfu(); }}實(shí)驗(yàn)2銀行與利息模板代碼Bank.javapublicclassBank{ intsavedMoney; intyear; doubleinterest; doubleinterestRate=0.29; publicdoublecomputerInterest(){ interest=year*interestRate*savedMoney; returninterest; } publicvoidsetInterestRate(doublerate){ interestRate=rate; }}ConstructionBank.javapublicclassConstructionBankextendsBank{ doubleyear; publicdoublecomputerInterest(){ super.year=(int)year; doubler=year-(int)year; intday=(int)(r*1000); doubleyearInterest=//【代碼1】//super調(diào)用隱藏的computerInterest()方法 doubledayInterest=day*0.0001*savedMoney; interest=yearInterest+dayInterest; System.out.printf("%d元存在建設(shè)銀行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest); returninterest; }}BankOfDalian.javapublicclassBankOfDalianextendsBank{ doubleyear; publicdoublecomputerInterest(){ super.year=(int)year; doubler=year-(int)year; intday=(int)(r*1000); doubleyearInterest=//【代碼2】//super調(diào)用隱藏的computerInterest()方法 doubledayInterest=day*0.00012*savedMoney; interest=yearInterest+dayInterest; System.out.printf("%d元存在大連銀行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest); returninterest; }}SaveMoney.javapublicclassSaveMoney{ publicstaticvoidmain(String[]args){ intamount=8000; ConstructionBankbank1=newConstructionBank(); bank1.savedMoney=amount; bank1.year=8.236; bank1.setInterestRate(0.035); doubleinterest1=bank1puterInterest(); BankOfDalianbank2=newBankOfDalian(); bank2.savedMoney=amount; bank2.year=8.236; bank2.setInterestRate(0.035); doubleinterest2=bank2puterInterest(); System.out.printf("兩個(gè)銀行利息相差%f元\n",interest2-interest1); }}實(shí)驗(yàn)3面積之和模板代碼Geometry.javapublicabstractclassGeometry{ publicabstractdoublegetArea();}TotalArea.javapublicclassTotalArea{ Geometry[]tuxing; doubletotalArea=0; publicvoidsetTuxing(Geometry[]t){ tuxing=t; } publicdoublecomputerTatalArea(){ //【代碼3】//用循環(huán)語(yǔ)句讓tuxing的元素調(diào)用getArea方法,并將返回的值累加到totalArea returntotalArea; }}Rect.javapublicclassRectextendsGeometry{ doublea,b; Rect(doublea,doubleb){ this.a=a; this.b=b; } //【代碼1】//重寫(xiě)getArea()方法}Circle.javapublicclassCircleextendsGeometry{ doubler; Circle(doubler){ this.r=r; } //【代碼2】//重寫(xiě)getArea()方法}MainClass.javapublicclassMainClass{ publicstaticvoidmain(String[]args){ Geometry[]tuxing=newGeometry[29];//有29個(gè)Geometry對(duì)象 for(inti=0;i<tuxing.length;i++){//29個(gè)Geometry對(duì)象分成兩類(lèi) if(i%2==0){ tuxing[i]=newRect(16+i,68); }elseif(i%2==1){ tuxing[i]=newCircle(10+i); } } TotalAreacomputer=newTotalArea(); computer.setTuxing(tuxing); System.out.printf("各種圖形的面積之和:\n%f",computerputerTatalArea()); }}實(shí)驗(yàn)4歌手大賽模板代碼ComputerAverage.javapublicinterfaceComputerAverage{ publicdoubleaverage(doublex[]);}SongGame.javapublicclassSongGameimplementsComputerAverage{ publicdoubleaverage(doublex[]){ intcount=x.length; doubleaver=0,temp=0; for(inti=0;i<count;i++){ for(intj=0;j<count;j++){ if(x[j]<x[i]){ temp=x[j]; x[j]=x[i]; x[i]=temp; } } } for(inti=0;i<count;i++){ aver=aver+x[i]; } if(count>2){ aver=aver/(count-2); }else{ aver=0; } returnaver; }}School.javapublicclassSchool

溫馨提示

  • 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)論