资源描述:
《JAVA实验面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、洛阳理工学院实验报告系别计算机班级B140502学号B14050219姓名刘望课程名称面向对象程序设计实验日期2016.10.10实验名称类的继承与多态成绩实验目的:通过使用类的继承与多态创建新类,进一步了解类的继承和多态概念,掌握java程序中类的继承和多态的使用方法,掌握类成员的重载和覆盖的区别及应用。实验条件:安装Myeclipse软件的电脑一台实验内容:1.定义描述平面中点的类Point,包含实数坐标值(x,y),包含以下方法:(1)三个构造方法,分别为无参构造方法(x、y初始化为0)、提供x和y值的有参数构造方法,拷贝构造方法。(2)转换为字符串
2、(形式如“(12.5,34)”)的方法toString()。(3)判断与另外点p是否位置相同的方法equals(Pointp)。(4)改变点自身位置的方法changeBy(dx,dy),dx、dy分别为该点在x、y坐标方向上的位移量。2.继承类Point定义像素类Pixel,增加数据成员color(其类型为实验2定义的颜色类Color),定义以下方法:(1)无参构造方法(x,y为0,color为黑色),提供x、y、color值的有参构造方法。(2)覆盖toString()方法,转换为形式“(x,y)RGB(r,g,b)”的字符串。(3)定义方法Pointg
3、etPoint(),ColorgetColor(),分别获得Pixel对象的位置和颜色。(4)改变像素自身值的方法changeBy(color),color为要改变的颜色值。3.另设计一个类,在其中定义main()方法,测试以上两个类的功能,解释产生的结果。(1)定义Point类的两个点p1(0,0)、p2(20,30),拷贝构造p3(20,30);(2)以字符串“p1(0,0)、p2(20,30)、p3(20,30)”形式输出三个点;(3)用equals判断p2与p3是否相等,输出结果;(4)定义Pixel类的两个像素pixel1(10,5,红色)、pi
4、xel2(10,5,蓝色);(5)分别以字符串“(x,y)RGB(r,g,b)”形式输出像素pixel1、像素pixel2的值;(6)用equals判断pixel1与pixel2是否相等,输出结果;(解释结果和使用的方法);(7)移动Pixel1的位置,移动量为(-5,5),改变Pixel1的颜色为绿色;(解释使用的方法);(8)使p1=pixel1;以字符串输出p1;(解释结果和使用的方法);(9)使用p1.getPoint();p1.getColor()获得pixel1像素的位置和颜色;(解释出现的情况);实验结果:源程序:Main:packagePo
5、int;importColor.Color;publicclassMain{publicstaticvoidmain(Stringargs[]){//(1)定义Point类的两个点p1(0,0)、p2(20,30),拷贝构造p3(20,30);Pointp1=newPoint();Pointp2=newPoint(20,30);Pointp3=newPoint(p2);//(2)以字符串“p1(0,0)、p2(20,30)、p3(20,30)”形式输出三个点;System.out.println("p1"+p1.toString()+",p2"+p2.to
6、String()+",p3"+p3.toString());//(3)用equals判断p2与p3是否相等,输出结果;System.out.println(p2.equals(p3)?"p2与p3相等":"p2与p3不相等");//(4)定义Pixel类的两个像素pixel1(10,5,红色)、pixel2(10,5,蓝色);Colorred=newColor(255,0,0);//红色Colorblue=newColor(0,0,255);//蓝色Pixelpixel1=newPixel(10,5,red);Pixelpixel2=newPixel(10
7、,5,blue);//(5)分别以字符串“(x,y)RGB(r,g,b)”形式输出像素pixel1、像素pixel2的值;System.out.println("pixe1:"+pixel1.toString()+",pixel2:"+pixel2.toString());//(6)用equals判断pixel1与pixel2是否相等,输出结果;(解释结果和使用的方法);System.out.println(pixel1.equals(pixel2)?"pixel1与pixel2相等":"pixel1与pixel2b不相等");//结果是他们相等,因为他们
8、都调用了父类的方法,而他们的父类部分是一样的,所以结果相等//(7