欢迎来到天天文库
浏览记录
ID:37845581
大小:88.50 KB
页数:4页
时间:2019-06-01
《JAVA程序设计实验二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA程序设计实验报告姓名刘创学号132054137指导教师邢珍珍成绩设备名称及软件环境Win8JDKJRE环境实验名称类的继承与封装实验日期2016年一.实验内容1.类的继承与封装:定义抽象类Shape(形状)其中有抽象方法用来求某形状的周长和面积;定义Shape类的子类Circle(圆形)、Triangle(三角形)、Rect(矩形)其中包括该形状的位置、大小信息并实现求其周长和面积的方法。假设当前有圆心为(100,100)半径为60的圆,左上角坐标为(0,200),水平宽度为120,垂直高度为80的矩形,以及三个顶点坐标分
2、别为(200,200)、(300,400)、(150,350)的三角形,请在控制台输出每个形状的相关信息,及所有形状的周长和面积的和。2.接口的定义与实现:通过接口和实现接口的类来完成上一题目。二.重点及难点1.熟练掌握类、类的数据成员和成员方法的定义与实现;2.熟练掌握抽象类与类的继承的相关内容;3.熟练掌握接口与接口的实现的相关内容;4.熟练掌握public、private、static、final、abstract等修饰符的作用。三.理论分析或算法分析首先构造一个二维顶点信息类Point2D方便以后的使用。其次构造一个sha
3、pe抽象基类,分别被子类Circle(圆形)、Triangle(三角形)、Rect(矩形)所继承。在三角形面积计算中采取三对顶点构成的向量进行叉积取半,其中注意取绝对值,周长采用二维空间向量求其长度等,进而实现对任意形状的三角形计算其面积周长。最后再用接口技术实现以上功能。四.实现方法(含实现思路、程序流程图和源程序列表等)1.复习有关Java中类、类的继承、接口、接口的实现的相关内容;2.根据题目要求编写需要的抽象类和其子类;3.根据题目要求编写相应的main方法完成程序;4.根据题目要求编写需要的接口和实现该接口的类;4五.实
4、验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)实验一:用继承实现实验二:使用接口实现的结果与上面结果相同以上的实验所涉及到的类有:部分代码展示1.publicclassPoin2D{intx;inty;}2.publicabstractclassShape{publicabstractfloatPerimeter();publicabstractfloatArea();}3.publicabstractclassCircleextendsShape{publicintradius;publicC
5、ircle(Poin2Dp,intradius){super(p,radius,radius);}publicvoidPrintPos(){}publicfloatPerimeter(){}publicfloatArea(){}}4.publicabstractclassTriangleextendsShape{publicTriangle(Poin2Dp1,Poin2Dp2,Poin2Dp3){super(p1,p2,p3);}publicvoidPrintPos(){System.out.println("theposofth
6、eTriangleP(X,Y):P1:("+p1.x+""+p1.y+")P2:("+p2.x+""+p2.y+")P3:("+p3.x+""+p3.y+")");}publicfloatPerimeter(){Poin2Dpp1=newPoin2D();Poin2Dpp2=newPoin2D();Poin2Dpp3=newPoin2D();pp1.x=p2.x-p1.x;pp1.y=p2.y-p1.y;pp2.x=p3.x-p1.x;pp2.y=p3.y-p1.y;pp3.x=p3.x-p2.x;pp3.y=p3.y-p2.y;
7、floatedge1=(float)(Math.sqrt(pp1.x*pp1.x+pp1.y*pp1.y));floatedge2=(float)(Math.sqrt(pp2.x*pp2.x+pp2.y*pp2.y));floatedge3=(float)(Math.sqrt(pp3.x*pp3.x+pp3.y*pp3.y));floatperimeter=edge1+edge2+edge3;returnperimeter;}4publicfloatArea(){Poin2Dpp1=newPoin2D();Poin2Dpp2=ne
8、wPoin2D();pp1.x=p2.x-p1.x;pp1.y=p2.y-p1.y;pp2.x=p3.x-p1.x;pp2.y=p3.y-p1.y;floatarea=(float)(Math.abs(pp1.x*pp2.y-pp1.y*pp2.x
此文档下载收益归作者所有