资源描述:
《java程序设计实验五类的设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告课程名称实验项目专业班级姓名学号指导教师实验成绩年月日实验五、JAVA类的设计(二)一、实验目的:1、理解Java语言是如何体现面向对象编程基本思想。2、掌握类的封装方法,以及如何创建类和对象。3、掌握成员变量和成员方法的特性。4、掌握类的继承性和多态性的作用。二、实验内容1、编写一个Java应用程序,要求定义一个抽象类Point,包含x,y坐标、若干构造函数、坐标移动方法和坐标打印方法,以及两个计算面积和周长的抽象函数。以该类为基础扩展如下3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”、和“圆形”。具体要求如下:a)
2、Trangle类具有类型为double的三个边,定义必要的构造函数,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。还包括打印三角形坐标和三条边的方法。b)Lader类具有类型double的上底、下底、高,具有返回面积和周长的功能,还包括打印梯形坐标和三条边的方法。c)Circle类具有类型为double的半径、具有返回周长和面积的功能,还包括打印圆的坐标和三条边的方法。要求如下定义:Pointt[]=newPoint[9];前三个元素用Trangle类的构造
3、方法初始化三个三角形对象,接下来三个元素用Lader类的构造方法初始化三个不同的梯形对象,最后三个元素初始化三个不同的圆的对象,分别调用类型定义的方法进行测试,最后输出9个图形的总周长和总面积。abstractclassPoint{doublex;doubley;doublez;Point(){x=0;y=0;z=0;}Point(doublexx,doubleyy,doublezz){x=xx;y=yy;z=zz;}abstractdoubleyidong(doublea,doubleb,doublec);abstractvoiddayingzuobiao()
4、;abstractdoublezhouchang();}classTrangleextendsPoint//三角形{Trangle(doublexx,doubleyy,doublezz){super(xx,yy,zz);}doublemianji(){return(x*y*z*(1/2.0));}doubleyidong(doublea,doubleb,doublec){x=x+a;y=y+b;z=z+c;return(x*y*z*(1/2.0));}voiddayingzuobiao(){System.out.println("("+x+","+y+","+z
5、+")");}doublezhouchang(){returnx+y+z;}}classLaderextendsPoint//梯形{Lader(doubleshangdi,doublexiadi,doublegao){super(shangdi,xiadi,gao);}doublemianji(){return((x+y*z)/2.0);}doubleyidong(doublea,doubleb,doublec){x=x+a;y=y+b;z=z+c;return((x+y*z)/2.0);}voiddayingzuobiao(){System.out.print
6、ln("("+x+","+y+","+z+")");}doublezhouchang(){returnMath.sqrt(z*z+(y-x)*(y-x));}}classCircleextendsPoint//圆形{doubler;Circle(){r=1;}Circle(doublebanjin){r=banjin;}doublemianji(){return(r*r*3.14);}doubleyidong(doublea,doubleb,doublec){x=x+a;y=y+b;z=z+c;return(r*r*3.14);}voiddayingzuobia
7、o(){System.out.println("("+x+","+y+","+z+")");}doublezhouchang(){return2*r*3.14;}}publicclasszc{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubTranglea=newTrangle(2.0,2.0,2.0);Pointb;b=a;System.out.println("三角形的面积:"+a.mianji());System.out.println("移动
8、后三角形的面积:"+b.