JAVA程序设计实验二

JAVA程序设计实验二

ID:37845581

大小:88.50 KB

页数:4页

时间:2019-06-01

JAVA程序设计实验二_第1页
JAVA程序设计实验二_第2页
JAVA程序设计实验二_第3页
JAVA程序设计实验二_第4页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。