资源描述:
《java类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验3、类与对象一、实验目的1.理解Java语言面向对象编程基本思想。2.了解类的基本特征,掌握类的定义,了解类中成员变量和成员方法的特性及作用,掌握成员变量的声明和成员方法的定义。3.掌握对象的声明及创建。4.掌握使用对象调用成语变量和成员方法。5.掌握定义构造方法、定义多个构造方法及使用构造方法创建对象。6.掌握static关键字,并可以阐述出static变量及static方法的特点。7.掌握this关键字,并会在构造方法中使用this关键字。8.掌握使用this关键字区分局部变量和成员变量。9.掌握
2、方法的定义和调用。10.掌握方法重载,理解类的多态性。11.掌握构造方法及构造方法的重载。12.了解包的作用,掌握包的层次结构结构。13.掌握package和import语句,使用java平台提供的包中的类以及自定义包中的类,掌握一些重要的操作步骤。二、实验内容及步骤1、案例学习(1)任务学习Point类:本例是对直角坐标系中点(Point)的描述类,即实现一个Point类,该类包含:表示坐标的两个double型变量x、y构造方法Point()和Point(doublexx,doubleyy)两个成员方法
3、,分别返回x值和y值的doublegetX()和doublegetY()。根据以上要求Point类定义如下:classpoint{doublex,y;publicPoint(){x=0;y=0;}publicPoint(doublexx,doubleyy){x=xx;y=yy;}publicdoublegetX(){returnx;}publicdoublegetY(){returny;}}思考题编写一个应用程序使用Point类,得到图4-1的结果。在Point类中添加成员方法,完成当前点与另一个点的距离
4、。参考方法声明:publicdoubledistanceOfPoints(Pointp2){//自行填写代码}(2)实验报告将应用程序写在实验报告中。将求两个点的距离的方法代码写在实验报告中。图3-1程序结果二、按要求填写定义类的代码练习1、任务按照对类的要求,将代码补充完整,并编写Java应用程序,创建三个类的对象,并完成相应功能。(1)类要求:编写3个类:Trangle,Lader和Circle,分别用来刻画“三角形”,“梯形”和“圆形”。具体要求如下;Trangle类具有类型double的三个边以及
5、周长、面积属性,Trangle类具有返回周长,面积以及修改三个边的功能。另外,Trangle类还具有一个boolean类型的属性。该属性用来判断三个数能否构成一个三角形。Lader类具有类型为double的上底,下底,高和面积属性,具有返回面积的功能。Circle类具类型为double的半径、周长和面积属性,具有返回周长、面积的功能。(2)补充的代码模版按照上述类的定义要求完成代码模版。classTrangle{doublesideA,sideB,sideC,area,length;booleanboo;
6、publicTrangle(doublea,doubleb,doublec){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】)//a,b,c构成三角形的条件表达式{【代码3】//给boo赋值}else{【代码4】//给boo赋值}}doublegetLength(){【代码5】//方法体,要求计算出length的值并返回}publicdoublegetArea(){if(boo){doublep=(sideA+sideB+sideC)/2.0;area=Math.
7、sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));returnarea;}else{System.out.println("不是一个三角形,不能计算面积");return0;}}publicvoidsetABC(doublea,doubleb,doublec){【代码6】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码7】)//a,b,c构成三角形的条件表达式{【代码8】//给boo赋值。}else{【代码9】//给boo赋值}}}classLader{
8、doubleabove,bottom,height,area;Lader(doublea,doubleb,doubleh){【代码10】//方法体}doublegetArea(){【代码11】//方法体,,要求计算出area返回}}classCircle{doubleradius,area;Circle(doubler){【代码12】//方法体}doublegetArea(){【代码13】//方法体,要求计算出area返回}d