欢迎来到天天文库
浏览记录
ID:50811825
大小:65.50 KB
页数:6页
时间:2020-03-14
《java求圆面积及周长.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与技术学院实验报告(电子版)课程:Java程序设计实验实验名称面向对象编程(二)指导老师姓名学号班级实验地点实验日期成绩一、实验内容:1.多态在工资系统中的应用。给出一个根据雇员类型利用多态性完成工资单计算的程序。定义一个类Employee作为超类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。对所有雇员类型都使用earnings()方法完成其工资单的计算,但
2、每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。所以在超类中声明earnings()方法,该方法没有实质性工作,而是在每个子类都提供恰当的earnings()方法的重写。为了计算雇员的工资,程序仅使用雇员对象的一个超类引导并调用earnings()方法。2.接口的编写⑴定义一个接口Shape用于描述图形,具有计算其面积和周长的两个抽象方法GetArea()和GetLength()。定义一个最终类Circle实现接口Shape,增加了一个描述半径的属性radius及带参
3、的构造函数用于该类对象的初始化操作,同时实现了Shape接口中的两个抽象方法来计算圆的面积和周长。定义一个最终类Rectangle实现接口Shape,增加了两个属性length和width用于描述矩形的长和宽及带参的构造函数用于完成对该类对象的初始化,同时实现了Shape接口中的两个抽象方法来计算矩形的面积和周长。定义主类分别创建Circle和Rectangle类对象,打印面积和周长。二、实验目的:1.理解类的继承和多态,熟练掌握OOP方式进行程序设计的方法。2.掌握接口的编写及使用。3.理解抽象类与
4、最终类。三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况):软件环境:Uedit+MSDOS四、程序清单与测试数据:试验一:packagecn.hlbrc.ryh;//定义超类EmployeeabstractclassEmployee{publicabstractdoubleearnings();}//定义子类BossclassBossextendsEmployee{privatedoublemoney;privateintweek;publicBoss(){};publicdoubleget
5、Money(){returnmoney;}publicvoidsetMoney(doublemoney){this.money=money;}publicintgetWeek(){returnweek;}publicvoidsetWeek(intweek){this.week=week;}publicdoubleearnings(){returnweek*money;}}//定义子类PieceWorkerclassPieceWorkerextendsEmployee{publicdoublegetMo
6、ney(){returnmoney;}publicvoidsetMoney(doublemoney){this.money=money;}publicintgetNum(){returnnum;}publicvoidsetNum(intnum){this.num=num;}privatedoublemoney;privateintnum;PieceWorker(){};publicdoubleearnings(){returnnum*money;}}//定义子类HourlyWorkerclassHou
7、rlyWorkerextendsEmployee{privateinttime;privatedoublemoney;HourlyWorker(){}publicintgetTime(){returntime;}publicvoidsetTime(inttime){this.time=time;}publicdoublegetMoney(){returnmoney;}publicvoidsetMoney(doublemoney){this.money=money;}publicdoubleearnin
8、gs(){returnmoney*time;}}publicclassMoney{publicstaticvoidmain(String[]args){Bossb=newBoss();b.setWeek(3);b.setMoney(5000);PieceWorkerp=newPieceWorker();p.setMoney(3);p.setNum(100);HourlyWorkerh=newHourlyWorker();h.setMoney(20);h.
此文档下载收益归作者所有