java 继承与接口 实验报告

  • 格式:doc
  • 大小:111.50 KB
  • 文档页数:4

应用数学 学院 专业 1 班、学号_ _

姓名___ __ 教师评定_________________

实验题目 继承与接口

一、 实验目的与要求

实验目的:

1、掌握类的继承关系。

2、掌握接口的定义与使用。

实验要求:

按下列要求编写Java程序:

1、定义接口Printx,其中包括一个方法printMyWay(),这个方法没有形参,返回值为空。

2、编写矩形类,矩形类要求实现Printx接口,有求面积、求周长的方法,printMyWay()方法要能显示矩形的边长、面积和周长。

3、编写正方形类作为矩形类的子类,正方形类继承了矩形类求面积和周长的方法,新增加求对角线长的方法,重写printMyWay()方法,要求该方法能显示正方形的边长、面积、周长和对角线长。

二、 实验方案

编辑该实验源程序如下:

■LISTEN.java

interface Printx{ //定义接口

public abstract void printMyWay();

}

class Rectangle implements Printx{ //矩形类

double a,b;

Rectangle(double a,double b){

this.a=a;

this.b=b;

}

public double getArea(){

return a*b;

}

public double getLength(){

return (a+b)*2.0;

}

public void printMyWay(){

System.out.println("该矩形的长a="+a+"宽b="+b);

System.out.println("面积s="+getArea());

System.out.println("周长l="+getLength());

}

}

class Square extends Rectangle{ //正方形类

double c;

Square(double a,double b){

super(a,b);

}

public double getDiagonal(){

c=Math.sqrt(a*a+b*b);

return c;

}

public void printMyWay(){

System.out.println("该矩形的长a="+a+"宽b="+b);

System.out.println("面积s="+getArea());

System.out.println("周长l="+getLength());

System.out.println("对角线d="+getDiagonal());

}

}

public class LISTEN {

public static void main(String[] args) {

Rectangle rectangle;

Square square;

rectangle=new Rectangle(11,5);

square=new Square(5,5);

rectangle.printMyWay();

square.printMyWay();

}

}

三、 实验结果和数据处理

运行上述源程序,可得如下运行结果:

1、矩形长a=11 宽b=5

2、矩形长a=5 宽b=5

四、 结论

接口是Java实现部分多继承功能的体现。运用接口编辑程序,可以提高程序的灵活度,,降低了类的冗余度,有效地提高了资源的利用率。程序中,子类Square继承了父类Rectangle的一些方法,省去了对getArea()和getLength()的再次声明定义。

五、 问题与讨论

在编译程序的时候一开始对于知识的掌握不牢固,看了很久的书才有些理解,有些细节过于粗心,导致编译过程浪费太多时间。