内容发布更新时间 : 2024/11/8 21:49:23星期一 下面是文章的全部内容请认真阅读。
实验六 多态 (第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;