Java的抽象和接口实验报告

实验报告

课程名称

面向对象程序设计

实验日期

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);

    }

 

}

 

 

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

 

 

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值