最新广东海洋大学实验+6+类的综合应用 计科1178

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六类的综合应用

实验目的:

(1)掌握类的继承,实现构造函数的继承。

(2)多态,通过相同的方法名实现不同的功能以及通过上型转换实现多态。

实验内容:

1、有一个shape接口,利用该接口来编写圆柱体,圆锥,长方体,

和正方体的表面积与体积的应用程序(其中正方体是长方体的子类,圆锥是圆柱的子类),要求接口回调技术来求这些几何图形的体积和表面积。

Interface shape{

Public double vol();//体积

Public double area();//表面积

}

2 有一个抽象类CompareObject,其中定义一个抽象方法abstract int compareTo(Object obj)用于比较两个对象。然后设计一个类Posisition 从CompareObject类派生,该类有x和y两个成员变量表示坐标,该类实现compareTo()方法,用比较两个Posisition对象到原点(0,0)的距离之差。

代码

1、

public class sy6666611111111 {

public static void main(String[] args) {

Cuboid cuboid = new Cuboid(2,3,4);

System.out.println("长,宽,高为2,3,4的长方体的体积是:"+cuboid.vol());

System.out.println("长,宽,高为2,3,4的长方体的表面积是:

"+cuboid.area());

Cube cube = new Cube(2);

System.out.println("边长为2的正方体的体积是:"+cube.vol());

System.out.println("边长为2的正方体的表面积是:"+cube.area());

circularCylinder circular = new circularCylinder(3,5);

System.out.println("半径为3,高为5的圆柱的体积是:"+circular.vol());

System.out.println("半径为3,高为5的圆柱的表面积是:"+circular.area());

Cone cone = new Cone(3,4);

System.out.println("半径为3,高为5的圆锥的体积是:"+cone.vol());

System.out.println("半径为3,高为5的圆锥的表面积是:"+cone.area());

Ball ball = new Ball(5);

System.out.println("半径为5的球的体积:"+ball.vol());

System.out.println("半径为5的球的表面积:"+ball.area());

}

}

interface shape {

public double vol(); //体积

public double area(); //表面积

}

class Cuboid implements shape { //长方体

double a,b,c;

Cuboid(){}

Cuboid(double a,double b,double c){

this.a = a;

this.b = b;

this.c = c;

}

public double vol(){

double v = a*b*c;

return v;

}

public double area() {

double s = 2*(a*b+b*c+a*c);

return s;

}

}

class Cube extends Cuboid { //正方体

Cube(double a){

this.b = a;

this.c = a;

}

}

class circularCylinder implements shape { //圆柱double radius;

double height;

circularCylinder(){}

circularCylinder(double r,double h) {

this.radius = r;

this.height = h;

}

public double vol(){

double v = 3.14*radius*radius*height;

return v;

}

public double area() {

double a = 3.14*radius*radius;

double b = 2*3.14*radius*height;

double s = b+2*a;

return s;

}

}

class Cone extends circularCylinder { //圆锥

Cone(){}

Cone(double r,double h) {

super(r,h);

}

public double vol(){

double v = super.vol()/3;

return v;

}

public double area() {

double l = Math.sqrt(radius*radius+height*height);

double s = 3.14*radius*radius+3.14*radius*l;

return s;

}

}

class Ball implements shape {

double r;

public Ball(double r) {

相关文档
最新文档