资源描述:
《1304012012马媛媛实验三已答辩》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、合肥曇陀HEFEIUNIVERSITY计算机科学与技术系实验报告专业名称计算机科学与技术课程名称项目名称Java继承与多态班级学号1304012012姓名同组人员实验日期一、实验目的与要求:掌握继承、多态的概念与实现方法;掌握包和接口的定义和使用方法;了解JAVA语言实现多继承的途径;二、实验内容1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:(1)Point2D有两个整型成员变量x,y(分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x,y的初始化。(2)Point2D有一个void
2、型成员方法offset(inta,intb),它可以实现Point2D的平移。(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z(分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(intx,inty,intz)和Point3D(Point2Dp,intz),两者均可实现对Point3D的成员变量x,y,z的初始化。(4)Point3D有一个void型成员方法offset(inta,intb,intc),该方法可以实现Point3D的平移。(5)在Point3D中的主函数main()屮实例化两个Po
3、int2D的对象p2dl,p2d2,打印岀它们之间的距离,再实例化两个Point2D的对象p3dl,p3d2,打印出他们之间的距离。packageExercise;classPoint2D{intx;inty;publicPoint2D(){}publicPoint2D(intx,inty){this・x=x;this・y=y;}publicvoidoffset(inta,intb){x=a;y=b;this・x=this・x+1;this・y=this・y+8;System.out・printIn(“(”+x+”/,+y+H)”);}doubledistan
4、(Point2Dpl,Point2Dp2){return(Math.sqrt((pl.x-p2.x)*(pl.x-p2.x)+(pl.y-p2.y)*(pl.y-p2.y)));}}classPoint3DextendsPoint2D{intz;publicPoint3D(intx,inty,intz){super(x,y);this.z=z;}publicPoint3D(){}publicPoint3D(Point2Dp,intz){super(p.x,p.y);this>z=z;}publicvoidoffset(inta,intb?intc){x=a;y
5、=b;z=c;this・x=this・x+1;this・y=this・y+1;this・z=this・z+1;System.out.printing("+x+"/*+y+"/,+z+")“);}doubledistan(Point3Dpl,Point3Dp2){return(Math.sqrt((pl.x-p2.x)*(pl.x-p2.x)+(pl.y-p2.y)*(pl.y-p2.y)+(pl.z-p2.z)*(pl.z-p2.z)));}}publicclasskongjian{publicstaticvoidmain(String[]args){Poin
6、t2Dpl=newPoint2D(3,3);System.out.printIn("平移后的坐标为:”);pl.offset(3,5);Point2Dp2=newPoint2D(2,2);Point3Dp3=newPoint3D(4J4>4);System.out・printin("平移后的坐标为:”);p3.offset(4>2?3);Point3Dp4=newPoint3D(5,5,5);System.out.printin("pl和p2之间的距离为:”);System.out.printIn(newPoint2D()・distan(pl?p2));Sys
7、tem.out.printIn(np3和p4间的距离为:”);System・out.printIn(newPoint3D()・distan(p3,p4));运行结果:(4①)平总舌射坐疋为:(5>3>4)11.1803398874989492.236067977499791.定义抽彖类Shape,抽象方法为showAreaO,求出而积并显示,定义矩形类Rectangle,正方形类Square,圆类Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。定义接口DiagArea,其中包含方法do
8、ublegetDiagonal()求对