广东海洋大学实验类的综合应用 计科_第1页
广东海洋大学实验类的综合应用 计科_第2页
广东海洋大学实验类的综合应用 计科_第3页
广东海洋大学实验类的综合应用 计科_第4页
广东海洋大学实验类的综合应用 计科_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验六 类的综合应用实验目的:(1)掌握类的继承,实现构造函数的继承。(2)多态,通过相同的方法名实现不同的功能以及通过上型转换实现多态。实验内容:1、 有一个shape接口,利用该接口来编写圆柱体,圆锥,长方体,和正方体的表面积与体积的应用程序(其中正方体是长方体的子类,圆锥是圆柱的子类),要求接口回调技术来求这些几何图形的体积和表面积。Interface shapePublic double vol();/体积Public double area();/表面积2 有一个抽象类CompareObject,其中定义一个抽象方法abstract int compareTo(Object obj)

2、用于比较两个对象。然后设计一个类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(&q

3、uot;长,宽,高为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()

4、;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.

5、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() do

6、uble s = 2*(a*b+b*c+a*c);return s;class Cube extends Cuboid /正方体Cube(double a)this.a = 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.

7、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() dou

8、ble 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) this.r=r; public double vol() return (4/3)*3.14*r*r*r;public double area() / TODO Auto-generated method stubreturn 4*3.14*r*r;2、package GDOU

9、_JIKE;import java.util.Scanner;abstract class CompareObject /定义抽象类abstract int compareTo(Posisition a,Posisition b);class Posisition extends CompareObject /定义Posisition类int x;int y;Posisition()x=0;y=0;Posisition(int a,int b)x=a;y=b;int compareTo(Posisition a,Posisition b)int ci; int ai=a.x*a.x+a.y*a

10、.y; int bi=b.x*b.x+b.y*b.y; ai=(int) Math.sqrt(ai); bi=(int) Math.sqrt(bi); ci=ai-bi; if(ci<0) ci=0-ci; return ci; public class Exercise5 public static void main(String args)System.out.print("创建点A,请输入横坐标和纵坐标:");Scanner input = new Scanner(System.in);Scanner input2 = new Scanner(System.in);int ai = input.nextInt(); / 输入int bi = input2.nextInt();Posisition A=new Posisition(ai,bi);System.out.print("创建点B,请输入横坐标和纵坐标:");Scanner input3 = new Scanner(System.in);Scanner input4 = new Scanner(System.in);int ci = input3.nextInt(); / 输入int di = input4.nextInt();Posis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论