《java求圆面积及周长.doc》由会员分享,可在线阅读,更多相关《java求圆面积及周长.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datejava求圆面积及周长电子工程系 实验报告计算机科学与技术学院实验报告(电子版)课程: Java程序设计实验 实验名称面向对象编程(二)指导老师姓 名学 号班 级实验地点实验日期成绩一、实验内容:1多态在工资系统中的应用。给出一个根据雇员类型利用多态性完成工资单计算的程序。定义一个类Employee作为超类,Employee的子类有Boss(每星期发给他固定工资,而不
2、计工作时间)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。对所有雇员类型都使用earnings()方法完成其工资单的计算,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。所以在超类中声明earnings()方法,该方法没有实质性工作,而是在每个子类都提供恰当的earnings()方法的重写。为了计算雇员的工资,程序仅使用雇员对象的一个超类引导并调用earnings()方法。2接口的编写 定义一个接口Shape用于描述图形,具有计算其面积和周长的两个抽象方法GetArea()和GetLength()
3、。定义一个最终类Circle实现接口Shape,增加了一个描述半径的属性radius及带参的构造函数用于该类对象的初始化操作,同时实现了Shape接口中的两个抽象方法来计算圆的面积和周长。定义一个最终类Rectangle实现接口Shape,增加了两个属性length和width用于描述矩形的长和宽及带参的构造函数用于完成对该类对象的初始化,同时实现了Shape接口中的两个抽象方法来计算矩形的面积和周长。定义主类分别创建Circle和Rectangle类对象,打印面积和周长。二、实验目的: 1理解类的继承和多态,熟练掌握 OOP 方式进行程序设计的方法。2掌握接口的编写及使用。3理解抽象类与最终
4、类。三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况):软件环境:Uedit+MSDOS四、程序清单与测试数据:试验一:package cn.hlbrc.ryh;/定义超类Employee abstract class Employee public abstract double earnings();/定义子类Bossclass Boss extends Employee private double money;private int week;public Boss() ;public double getMoney() return money;public void set
5、Money(double money) this.money = money;public int getWeek() return week;public void setWeek(int week) this.week = week;public double earnings() return week * money;/定义子类PieceWorkerclass PieceWorker extends Employee public double getMoney() return money;public void setMoney(double money) this.money =
6、 money;public int getNum() return num;public void setNum(int num) this.num = num;private double money;private int num;PieceWorker() ;public double earnings() return num * money;/定义子类HourlyWorkerclass HourlyWorker extends Employee private int time;private double money;HourlyWorker() public int getTim
7、e() return time;public void setTime(int time) this.time = time;public double getMoney() return money;public void setMoney(double money) this.money = money;public double earnings() return money * time;public class Money public static void main(String args) Boss b = new Boss();b.setWeek(3);b.setMoney(
8、5000);PieceWorker p= new PieceWorker();p.setMoney(3);p.setNum(100);HourlyWorker h = new HourlyWorker();h.setMoney(20);h.setTime(9);Employee boss = b;Employee pie =p;Employee hour = h;System.out.println(Boss工资:+boss.earnings();System.out.println(PieceWorker工资:+pie.earnings();System.out.println(Hourly
9、Worker工资:+hour.earnings();2接口的编写package cn.hlber.ryh;import java.util.*;/定义接口interface Shape double GetArea();double GetLength();/圆类,实现接口class Circle implements Shape private double radius;public Circle() public Circle(double radius) this.radius = radius;public double GetArea() return Math.PI * 2 *
10、radius;public double GetLength() return Math.PI * Math.pow(radius, 2);/矩形类,实现接口Shapeclass Rectangle implements Shape private double length;private double width;public Rectangle() public Rectangle(double length, double width) this.length = length;this.width = width;public double GetArea() return (len
11、gth * width) * 2;public double GetLength() return length * width;public class Represent public static void main(String args) Scanner sc = new Scanner(System.in);System.out.println(请输入圆的半径:);Shape c = new Circle(sc.nextDouble();System.out.println(圆的面积为:+c.GetArea()+ 圆的周长为:+c.GetLength();System.out.println(请输入矩形的长和宽:);Shape r = new Rectangle(sc.nextDouble(),sc.nextDouble();System.out.println(矩形的面积为:+r.GetArea()+矩形的周长为:+r.GetLength();五、实验结果、分析、体会等:试验一:试验二:分析与体会?-
限制150内