




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告 课程名称 实验项目 专 业 班 级 姓 名 学 号 指导教师 实验成绩 年 月 日实验五、JAVA类的设计(二)一、实验目的:1、理解Java语言是如何体现面向对象编程基本思想。2、掌握类的封装方法,以及如何创建类和对象。3、掌握成员变量和成员方法的特性。4、掌握类的继承性和多态性的作用。二、实验内容1、编写一个Java应用程序,要求定义一个抽象类Point,包含x,y坐标、若干构造函数、坐标移动方法和坐标打印方法,以及两个计算面积和周长的抽象函数。以该类为基础扩展如下3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”、和“圆形”。具体要求如下:a)Trangle类具有类型为double的三个边,定义必要的构造函数,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。还包括打印三角形坐标和三条边的方法。b)Lader类具有类型double的上底、下底、高,具有返回面积和周长的功能,还包括打印梯形坐标和三条边的方法。c)Circle类具有类型为double的半径、具有返回周长和面积的功能,还包括打印圆的坐标和三条边的方法。要求如下定义: Point t=new Point9;前三个元素用Trangle类的构造方法初始化三个三角形对象,接下来三个元素用Lader类的构造方法初始化三个不同的梯形对象,最后三个元素初始化三个不同的圆的对象,分别调用类型定义的方法进行测试,最后输出9个图形的总周长和总面积。abstract class Pointdouble x;double y;double z;Point()x=0;y=0;z=0;Point(double xx,double yy,double zz)x=xx;y=yy;z=zz;abstract double yidong(double a,double b,double c);abstract void dayingzuobiao();abstract double zhouchang();class Trangle extends Point /三角形Trangle(double xx,double yy,double zz)super(xx,yy,zz);double mianji()return (x*y*z*(1/2.0);double yidong(double a,double b,double c)x=x+a;y=y+b;z=z+c;return (x*y*z*(1/2.0);void dayingzuobiao()System.out.println( ( +x +, +y+ , +z+ );double zhouchang()return x+y+z;class Lader extends Point /梯形Lader(double shangdi,double xiadi,double gao)super(shangdi,xiadi,gao);double mianji()return (x+y*z)/2.0);double yidong(double a,double b,double c)x=x+a;y=y+b;z=z+c;return (x+y*z)/2.0);void dayingzuobiao()System.out.println( ( +x +, +y+ , +z+ );double zhouchang()return Math.sqrt(z*z+(y-x)*(y-x);class Circle extends Point /圆形double r;Circle()r=1;Circle(double banjin)r=banjin;double mianji()return (r*r*3.14);double yidong(double a,double b,double c)x=x+a;y=y+b;z=z+c;return (r*r*3.14);void dayingzuobiao()System.out.println( ( +x +, +y+ , +z+ );double zhouchang()return 2*r*3.14;public class zc /* * param args */public static void main(String args) / TODO Auto-generated method stubTrangle a=new Trangle(2.0,2.0,2.0);Point b;b=a;System.out.println(三角形的面积:+a.mianji();System.out.println(移动后三角形的面积:+b.yidong(1.0,1.0,1.0);System.out.println(三角形的周长:+a.zhouchang();System.out.print(三角形的坐标: ); a.dayingzuobiao(); Lader aa=new Lader (2.0,4.0,2.0); Point bb;bb=aa;System.out.println(梯形的面积:+aa.mianji();System.out.println(移动后梯形的面积:+bb.yidong(1.0,1.0,1.0);System.out.println(梯形的周长:+aa.zhouchang();System.out.print(梯形的坐标: ); aa.dayingzuobiao(); Circle aaa=new Circle(2.0); Point bbb;bbb=aaa;System.out.println(圆形的面积:+aaa.mianji();System.out.println(移动后圆形的面积:+bbb.yidong(1.0,1.0,1.0);System.out.println(圆形的周长:+aaa.zhouchang();System.out.print(圆形的坐标: ); aaa.dayingzuobiao(); 2、编写一个Java应用程序,要求定义一个接口Shape,包含PI的定义,以及两个计算面积和周长的函数。以该接口为基础扩展如下3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”、和“圆形”。具体要求如下:a)Trangle类具有类型为double的三个边,定义必要的构造函数,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。还包括打印三角形坐标和三条边的方法。b)Lader类具有类型double的上底、下底、高,具有返回面积和周长的功能,还包括打印梯形坐标和三条边的方法。c)Circle类具有类型为double的半径、具有返回周长和面积的功能,还包括打印圆的坐标和三条边的方法。测试类要求如下定义: Shape t=new Shape9;前三个元素用Trangle类的构造方法初始化三个三角形对象,接下来三个元素用Lader类的构造方法初始化三个不同的梯形对象,最后三个元素初始化三个不同的圆的对象,分别调用类型定义的方法进行测试,最后输出9个图形的总周长和总面积。interface Shapepublic static final double PI=3.14;double mianji();double zhouchang();class Trangle implements Shape /三角形double bian1;double bian2;double bian3;Trangle()bian1=1;bian2=1;bian3=1;Trangle(double biana,double bianb,double bianc)bian1=biana;bian2=bianb;bian3=bianc;public double mianji()return (bian1*bian2*bian3*(1/2.0);public double zhouchang() return bian1+bian2+bian3; double yidong(double yidong1,double yidong2,double yidong3)bian1=bian1+yidong1;bian2=bian2+yidong2;bian3=bian3+yidong3;return (bian1*bian2*bian3*(1/2.0);boolean isPanduan(Trangle s)if(this.bian1+this.bian2this.bian3 | this.bian1+this.bian3this.bian2 |this.bian2+this.bian3this.bian1 ) return true;return false;void daying()double zuobiao;zuobiao=Math.sqrt(bian2*bian2-bian1*bian1/4.0);System.out.println(三角形第1边:+bian1);System.out.println(三角形第2边:+bian2);System.out.println(三角形第3边:+bian3);System.out.println(三角形坐标1:+(+0+,+ 0 +);System.out.println(三角形坐标2:+(+0+,+bian1+);System.out.println(三角形坐标3:+(+bian1/2.0+,+zuobiao);class Lader implements Shape /梯形double shangdi;double xiadi;double gao;Lader()shangdi=1;xiadi=1;gao=1;Lader(double shangdi1,double xiadi1,double gao1)shangdi=shangdi1;xiadi=xiadi1;gao=gao1;public double mianji()return (shangdi+xiadi)*gao)/2.0);double yidong(double a,double b,double c)shangdi=shangdi+a;xiadi=xiadi+b;gao=gao+c;return 0;public double zhouchang()double biao;biao=Math.sqrt(gao*gao+(xiadi-shangdi*shangdi)*(xiadi-shangdi*shangdi);return 2*biao+shangdi+xiadi;void daying()System.out.println(梯形上底+shangdi);System.out.println(梯形下底高+xiadi);System.out.println(梯形高+gao);class Circle implements Shape /圆形double r;Circle()r=1;Circle(double banjin)r=banjin;public double mianji()return (r*r*PI);public double zhouchang()return 2*r*PI;void daying()System.out.println(圆的半径+r);public class zzz /* * param args */public static void main(String args) / TODO Auto-generated method stubdouble t=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0;Trangle a=new Trangle(t0,t1,t2);Shape b;b=a;System.out.println(三角形的面积:+a.mianji();System.out.println(移动后三角形的面积:+a.yidong(1.0,1.0,1.0);System.out.println(三角形的周长:+a.zhouchang();System.out.print(三角形的坐标: ); a.daying(); Lader aa=new Lader (t3,t4,t5); Shape bb;bb=aa;System.out.println(梯形的面积:+aa.mianji();System.out.println(移动后梯形的面积:+aa.yidong(1.0,1.0,1.0);System.out.println(梯形的周长:+aa.zhouchang();System.out.print(梯形的坐标: ); aa.daying(); Circle yuan1=new Circle(t6); Circle yuan2=new Circle(t7); Circle yuan3=new Circle(t8); /Shape bbb;/bbb=aaa;System.out.println(圆形1的面积:+yuan1.mianji();System.out.println(圆形2的面积:+yuan2.mianji(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版员工薪资调整与员工绩效评估体系补充协议
- 2025版专利技术许可使用与知识产权保护合同范本
- 2025版商业楼宇水电系统升级改造项目协议
- 2025版水泥河沙建材购销合同书(含环保技术支持)
- 2025年厕所改造工程环保设施设备租赁与维修合同
- 2025年度环保设备代理商加盟管理协议书
- 2025年度工程项目建设中设备租赁及借用合同范本
- 2025年度影视拍摄场地短期租赁合同协议
- 2025版农业科技示范园区农资供应合同
- 2025年度篮球场设施租赁与维护管理合同
- 2025届黑龙江省龙东地区数学八下期末学业质量监测试题含解析
- 医疗项目可行性研究报告【范本模板】
- 北京市海淀区师达中学2025年七下数学期末考试试题含解析
- IATF16949:2016内审员培训试卷含答案
- 机械基础教案
- 矿山租用土地协议书
- 美容院入股合同协议范本
- 混凝土实验室试题及答案
- 矿产资源勘查开采合作合同
- 幼儿园疫苗知识课件
- 医保科考核细则
评论
0/150
提交评论