欢迎来到天天文库
浏览记录
ID:56718544
大小:48.00 KB
页数:5页
时间:2020-07-06
《广东海洋大学实验+6+类的综合应用 计科1178.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验六类的综合应用实验目的:(1)掌握类的继承,实现构造函数的继承。(2)多态,通过相同的方法名实现不同的功能以及通过上型转换实现多态。实验内容:1、有一个shape接口,利用该接口来编写圆柱体,圆锥,长方体,和正方体的表面积与体积的应用程序(其中正方体是长方体的子类,圆锥是圆柱的子类),要求接口回调技术来求这些几何图形的体积和表面积。Interfaceshape{Publicdoublevol();//体积Publicdoublearea();//表面积}2有一个抽象类CompareObject,其中定义一个抽象方法abstractintcompareTo(Objectobj)用
2、于比较两个对象。然后设计一个类Posisition从CompareObject类派生,该类有x和y两个成员变量表示坐标,该类实现compareTo()方法,用比较两个Posisition对象到原点(0,0)的距离之差。代码1、publicclasssy6666611111111{publicstaticvoidmain(String[]args){Cuboidcuboid=newCuboid(2,3,4);System.out.println("长,宽,高为2,3,4的长方体的体积是:"+cuboid.vol());System.out.println("长,宽,高为2,3,4的长
3、方体的表面积是:"+cuboid.area());Cubecube=newCube(2);System.out.println("边长为2的正方体的体积是:"+cube.vol());System.out.println("边长为2的正方体的表面积是:"+cube.area());circularCylindercircular=newcircularCylinder(3,5);System.out.println("半径为3,高为5的圆柱的体积是:"+circular.vol());System.out.println("半径为3,高为5的圆柱的表面积是:"+circular.a
4、rea());Conecone=newCone(3,4);System.out.println("半径为3,高为5的圆锥的体积是:"+cone.vol());System.out.println("半径为3,高为5的圆锥的表面积是:"+cone.area());Ballball=newBall(5);System.out.println("半径为5的球的体积:"+ball.vol());System.out.println("半径为5的球的表面积:"+ball.area());}}interfaceshape{publicdoublevol();//体积publicdoublear
5、ea();//表面积}classCuboidimplementsshape{//长方体doublea,b,c;Cuboid(){}Cuboid(doublea,doubleb,doublec){this.a=a;this.b=b;this.c=c;}publicdoublevol(){doublev=a*b*c;returnv;}publicdoublearea(){doubles=2*(a*b+b*c+a*c);returns;}}classCubeextendsCuboid{//正方体Cube(doublea){this.a=a;this.b=a;this.c=a;}}clas
6、scircularCylinderimplementsshape{//圆柱doubleradius;doubleheight;circularCylinder(){}circularCylinder(doubler,doubleh){this.radius=r;this.height=h;}publicdoublevol(){doublev=3.14*radius*radius*height;returnv;}publicdoublearea(){doublea=3.14*radius*radius;doubleb=2*3.14*radius*height;doubles=b+2*
7、a;returns;}}classConeextendscircularCylinder{//圆锥Cone(){}Cone(doubler,doubleh){super(r,h);}publicdoublevol(){doublev=super.vol()/3;returnv;}publicdoublearea(){doublel=Math.sqrt(radius*radius+height*height);doubles=3.14*radius*radius+3.1
此文档下载收益归作者所有