实验报告
课程名称 | 面向对象程序设计 | 实验日期 | 2016.03.30 |
实验项目名称 | Java的抽象和接口 | 实验地点 | 1#608 |
实验类型 | □验证型 √设计型 □综合型 | 学 时 | 2 |
一、实验目的及要求(本实验所涉及并要求掌握的知识点) | |||
1、 掌握抽象类和抽象方法的使用。 2、 熟悉类中接口的定义和实现。
| |||
二、实验环境(本实验所使用的硬件设备和相关软件) | |||
安装XP操作系统的电脑一台 JDK1.6安装软件 MyEclipse软件 | |||
三、实验内容及步骤 | |||
1、定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectangle和Circle类。 实验要求:定义Rectangle和Circle类的构造方法,初始化成员变量。
2、学校中有老师和学生两类人,而在职研究生既是老师又是学生。(1)设计两个信息管理接口StudentInterface和TeacherInterface,其中StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费,TeacherInterface接口包括setPay()和getPay()方法,分别用于设置和获取老师的工资。 (2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名),sex(性别),age(年龄),fee(每学期学费) pay(月工资)。 (3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“You need a loan!”(需要贷款)的信息,否则输出“You income is enough!”信息。 实验要求:在Graduate中实现各个接口声明的抽象方法。 | |||
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)
第一题: package firsrpakeage; public class Test01 { public static void main(String[] args) { Rectangle rectangle=new Rectangle(3,5); double area=rectangle.getArea(); System.out.println("矩形的面积是:"+area); Circle circle=new Circle(2); area=circle.getArea(); System.out.println("圆的面积是:"+area); } } abstract class Shape{ public abstract double getArea(); } class Rectangle extends Shape{ private double width; private double height; public Rectangle(double width,double height){ this.width=width; this.height=height; } public double getArea(){ return width*height; } } class Circle extends Shape{ private double r; public Circle(double radius){ this.r=radius; } public double getArea(){ return Math.PI*r*r; } }
| |||
第二题: package secondpackage;
interface StudentInterface{ void setFee(int fee); int getFee(); } interface TeacherInterface{ void setPay(int pay); int getPay(); } class Graduate implements StudentInterface,TeacherInterface{ private String name; private String sex; private int age; private int fee; private int pay; public Graduate(String name,int fee,int pay){ super(); this.name=name; this.fee=fee; this.pay=pay; if(this.pay-this.fee<2000) System.out.println("You need a loan!"); else System.out.println("You income is enough!"); } public int getFee(){ return this.fee; } public int getPay(){ return this.pay; } public void setFee(int fee){ this.fee=fee; } public void setPay(int pay){ this.pay=pay; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public String getSex(){ return sex; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } } public class Test02 { public static void main(String[] args) { new Graduate("zhangsan",1000,1500); }
}
| |||
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) | |||
|