實(shí)驗(yàn)7面向?qū)ο缶幊?doc

實(shí)驗(yàn)7面向?qū)ο缶幊?doc

ID:55294572

大?。?5.00 KB

頁數(shù):7頁

時(shí)間:2020-05-09

實(shí)驗(yàn)7面向?qū)ο缶幊?doc_第1頁
實(shí)驗(yàn)7面向?qū)ο缶幊?doc_第2頁
實(shí)驗(yàn)7面向?qū)ο缶幊?doc_第3頁
實(shí)驗(yàn)7面向?qū)ο缶幊?doc_第4頁
實(shí)驗(yàn)7面向?qū)ο缶幊?doc_第5頁
資源描述:

《實(shí)驗(yàn)7面向?qū)ο缶幊?doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、利用面向抽象的編程思想,計(jì)算各種柱體的體積。右圖為該程序的UML類圖。編寫測(cè)試類PillarTest,輸出底為圓形、長(zhǎng)方形、三角形的柱體體積。(在實(shí)驗(yàn)3的基礎(chǔ)上修改)publicabstractclassGeometry{privatedoubler;Geometry(doubler){this.r=r;}//計(jì)算圓的面積publicdoublegetArea();}/***創(chuàng)建一個(gè)面向抽象類的的Pillar類**/publicclassPillar{privateGeometrygeometry;privatedoubleheight;Pillar(Geometr

2、ygeometry,doubleheight){this.geometry=geometry;this.height=height;}publicdoublegetVolumn(){returngeometry.getArea()*height;}}/***創(chuàng)建一個(gè)Geometry的子類Rectangle**/publicclassRectangleextendsGeometry{doublewidth;doubleheight;Rectangle(doublewidth,doubleheight){this.width=width;this.height=heig

3、ht;}@OverridepublicdoublegetArea(){returnwidth*height;}}/***創(chuàng)建一個(gè)Application計(jì)算柱體的體積**/publicclassApplication{publicstaticvoidmain(String[]args){Geometrygeometry=newRectangle(10.0,12.0);Pillarpillar=newPillar(geometry,12.0);doublevolumn=pillar.getVolumn();System.out.println("矩形底的柱體的體積:"+

4、volumn);}}要求有一個(gè)abstract類,類名為Employee。Employee的子類有YearWorker、MonthWorker和WeekWorker。

YearWorker對(duì)象按年薪領(lǐng)取薪水,MonthWorker按月領(lǐng)取薪水,WeekWorker按周領(lǐng)取薪水。

Employee類有一個(gè)abstract方法:Publicabstractearnings();子類必須重寫父類的earnings()方法,給出各自領(lǐng)取報(bào)酬的具體方式。

有一個(gè)Company類,該類用Employee數(shù)組作為成員,Employee數(shù)組的單元

5、可以是YearWorker對(duì)象的上轉(zhuǎn)型對(duì)象、MonthWorker對(duì)象的上轉(zhuǎn)型對(duì)象或WeekWorker對(duì)象的上轉(zhuǎn)型對(duì)象。程序能輸出Company對(duì)象一年需要支付的薪水總額。packagehomework;classCompany{Employee[]em;//Employee作為成員Company(Employee[]em){//構(gòu)造函數(shù)this.em=em;}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubEmployee[]em=newEmployee[3];em[0]=newY

6、earWorker(1,12000.0);//上轉(zhuǎn)型對(duì)象em[1]=newMonthWorker(11,8000.0);em[2]=newWeekWorker(40,1200.0);Companycom=newCompany(em);doublesum;sum=em[0].earnings()+em[1].earnings()+em[2].earnings();System.out.println("總工資為:"+sum);}}abstractclassEmployee{abstractdoubleearnings();//抽象方法}classMonthWorker

7、extendsEmployee{intmonth;doublemonthSalary;MonthWorker(intm,doubles){month=m;monthSalary=s;}doubleearnings(){returnmonth*monthSalary;}}classWeekWorkerextendsEmployee{intweek;doubleweekSalary;WeekWorker(intw,doubles){week=w;weekSalary=s;}doubleearnings(){returnweek*weekSalary;}}classY

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(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)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。