实验7面向对象编程.docVIP

  • 29
  • 0
  • 约5.97千字
  • 约 7页
  • 2021-10-07 发布于辽宁
  • 举报
利用面向抽象得编程思想 ,计算各种柱体得体积。 右图为该程序得 UML 类图。编写测 试类Pi 1 l a rT es t,输出底为圆形、长方形、 三角形得柱体体积、(在实验3得基础上 修改) publ i c abstrac t cl ass G e ome t ry { pr i vate d oub 1 e r ; Geometry(doub l e r) { this、 r=r; } //计算圆得面积 pu b 1i c d o ubl e ge tAre a (); } /* * *创建一个面向抽象类得得Pilla r类 * */ public class Pil1 ar{ p rivate Geom etry g eom e t ry; private d ou bl e hei g ht; Pillar(G e ometr y geomet ry,doub le height){ this.g eo metry=geom etr y; th i s.he ight=hei gh t; } p ub lic double g etVolumn() { retu rn g eometry。getAre a()*he i ght; } } /* * *创建一个 Geom et r y 得子类R ec t a ng le * */ pu b 1 ic cla s s Rect an gl e ex t e nds Geometry{ dou ble widt h; dou b1 e h ei ght; Rec tangle (d oub le wi dt h,d ouble h eig ht ){ this。width=w i dt h ; this. h eight= hei g ht; } @ Override pu b1 ic dou ble getA re a(){ retu rn w idth * heig h t; /** *创建一个A pp l i cat i o n计算柱体得体积 * */ p ublic class App 1 i c ati o n{ public stat ic void mai n(String args) { Ge ometry g eo m e try=new Rectan g 1 e(10.0,12.0); P i 1 l ar pi 1 la r =n ew P il 1a r(g eo metry, 1 2。0); d o uble vo 1u mn=p i11 ar、getVO 1u mn(); Syst em . o ut。pri n tin(” 矩形底得柱体得体积:+volumn); } } 要求有一个 abstract 类,类名为 Employe e°E mployee 得子类有 Year Worker、 M o nthWork er 与 WeekW orker、v /pxp〉Y e arWorke r 对象按年薪领取薪水, Mon th Wo r ker 按月领取薪水,We ekWorker按周领取薪水。〈/p 〈pEmp loye e类有一个 abs t r act 方法:Publ ic abst ract earn i ng s();子类必须重 写父类得e arnings ()方法,给出各自领取报酬得具体方式、/p p 有一个p a ny 类,该类用 Employe e 数组作为成员 ,Em ploye e 数组得单元可以就是 Yea r W o rker对象得上转型对象、Mo n thWo r ke r对象得上转型对象或 W e ekWo r ker对象得上转型对象。程序能输出 Com pan y对象一年需要支付得薪水总 额。 package ho mework; clas s pan y { Emp 1 oy e e [] em ; / /Empl oy ee 作为成员 Com pan y(Emp1 oye e[] em) { //构造函数 t his、e m = em; } public st at ic void main(St rin g[] args ) { // TO D O Au to — gene rated metho d s tub E m p loyee [] em=new Emp 1 oyee [3]; em[0]=new Y e arW ork er ( 1 ,120 0 0 .0); //上转型对象 e m[1 ] =new Mo n thWorker(11,800 0、0); em[2]=n e w WeekWorke r(40,1 200、 0); Co mpany co m=new Com pany(em); d oubl

文档评论(0)

1亿VIP精品文档

相关文档