- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
合工大java实验报告-02
《Java程序设计》实验报告--实验2
实验室: 四号实验楼第四机房 2012 年 12 月 11 日
学院 计算机与信息学院 专业班级 2011级电信科2班
姓名 王维 成绩 课程
名称 Java程序设计 实验项目
名 称 实验二 类的封装、继承、多态
指导教师 路强余烨 教师评语
教师签名:
年 月 日 一、实验目的
1. 复习、理解OOP的三大特征——封装、继承和多态。
2. 学会使用Java编写简单的类。理解类的属性和方法。
3.掌握关键字private, protected, public的作用,掌握静态类,内部类的概念。
4. 掌握多态的概念。
二,实验内容
分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。
在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。
提示:java.lang.Math.sqrt()方法
创建一个数组,随机生成Point2D或者Point3D的对象放于其中。最后依次调用数组中每个对象的“打印方法”,显示数组中存储的是什么对象。
提示:java.lang.Math.random()方法 或者 java.util.Random类
三、使用硬件、软件环境
PC 计算机一台,配置为CPU为1.6G,内存为2.5M,硬盘为500G,安装Windows7操作系统。
另外,使用JCreator,JDK1.7.0等软件
实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)
)利用所学习的类的继承,写一个point2D类,其继承的子类为point3D。包含类两个类的位置。在主方法中,定义类point2D的对象,定义point3D的对象,并定义其各点的初始位置,运用sqrt()函数实现距离的计算。在方法offset()中输入其位置的移动量值,由此实现各点位置的移动。
第二个程序在第一个程序的基础上进行改进,将无关的点的定义去掉,将offset()函数去掉,将两个类的show()函数统一为同一个名称。然后进行在主方法中的java.lang.Math.sqrt()方法的运用,其中定义有为将其数组内存分为两个部分,再调用show()方法,则是在随机运算出来后,将分别调用类中的show()方法,由此得到答案。
五、实验结论、分析、思考题与心得体会
通过本次实验,我有以下几方面的收获、认识和体会:
1、 学会了类的继承,封装,多态的基本运用,学会了两个方法sqrt()和random()在程序中的运用;
2、加深了Java中相关语法的认识: 在编辑程序的初期,我是拷贝的老师在课件上的程序下来看的,但是我以为老师在程序中写的子类的重载父类没有用,结果在程序编译的过程中出现了程序无法弄到构造体中的情况,在父类的构造函数中,我开始觉得有了含参的构造函数就可以不要无参的了,结果不能编译。在写程序的过程中我在函数中输入了点要移动的距离,知道了在程序的优化上,对于程序的重要性。
思考题
1.什么是类的多态性。
答:类的多态就是在同一个类中实现不同的对象
2 / 2
文档评论(0)