java实验六

实验六 多态 (第6次实验,2学时)

一、实验目的和要求

? 掌握abstract修饰的抽象类和抽象方法的定义、特定及使用 ? 掌握interface接口的定义、特定及使用 ? 掌握抽象类和接口在多态中的应用 ? 进一步理解多态 二、实验内容

1.编写一Java应用程序,要求定义立体物体接口Solid,规定具备计算其表面积和体积的方法;定义一个立方体类Cube实现接口Solid,具体实现立方体表面积和体积的计算过程;定义一个球体类Sphere实现接口Solid,具体实现球体表面积和体积的计算过程;最后定义一公共类,测试实现接口的两个类。 2.编写一求正方形面积的Java应用程序,要求创建一个接口IShape,接口中给定一个求面积的抽象方法;定义一个类square,且实现IShape接口,且该类中要有一个属性表示正方形的边长,并定义相应的构造方法初始化该边长;最后

定义一个公共类,在其中创建square类的实例,求相应正方形的面积。 三、实验原理 ? 抽象方法的定义

abstract 返回类型 方法名(参数表) { //方法体空}

Private和static修饰的方法不能声明为抽象方法。

? 接口的定义

[修饰符] interface 接口名{ // 定义成员变量 // 定义成员方法 }

接口中的成员变量一律是公共的、静态的、最终的,即public、static、final默认修饰。

接口中的成员方法一律是公共的、抽象的,即public 和abstract默认修饰。 四、参考程序 1、interface Solid{

double getArea(); double getVolume(); }

private double width,height,depth; Cube(double w,double h,double d){ }

public double getArea(){ }

public double getVolume(){ }

return width*height*depth;

return (width*height+width*depth+height*depth)*2; width = w; height = h; depth = d;

class Cube implements Solid{

}

class Sphere implements Solid{ }

public class InterfaceDemo{ }

2、interface IShape{ }

public double area();

public static void main(String[] args) { }

Cube c = new Cube(3,4,5);

System.out.println(\立方体的表面积是\System.out.println(\立方体的体积是\olume()); Sphere s = new Sphere(1);

System.out.println(\球的表面积是\System.out.println(\球的体积是\olume()); private double radius; Sphere(double r){ }

public double getArea(){ }

public double getVolume(){ }

return 4.0/3*Math.PI*radius*radius*radius; return 4*Math.PI*radius*radius; radius = r;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4