实验四Java语言面向对象基础编程

上传人:m**** 文档编号:489684526 上传时间:2022-08-02 格式:DOC 页数:24 大小:308.50KB
返回 下载 相关 举报
实验四Java语言面向对象基础编程_第1页
第1页 / 共24页
实验四Java语言面向对象基础编程_第2页
第2页 / 共24页
实验四Java语言面向对象基础编程_第3页
第3页 / 共24页
实验四Java语言面向对象基础编程_第4页
第4页 / 共24页
实验四Java语言面向对象基础编程_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《实验四Java语言面向对象基础编程》由会员分享,可在线阅读,更多相关《实验四Java语言面向对象基础编程(24页珍藏版)》请在金锄头文库上搜索。

1、实验项目编号实验项目名称 Java语言面向对象基础编程实验学时实验日期成绩实验地点指导老师实验四 Java语言面向对象基础编程一、实验目的1.理解Java语言是如何体现面向对象编程基本思想,2.了解类的封装方法,以及如何创建类和对象,3.了解成员变量和成员方法的特性。二、实验内容1.类的定义、封装和对象创建的使用。编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:(1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Tr

2、angle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。(2)Lader类具有类型double的上底、下底、高、面积属性,具有求面积的功能。(3)Circle类具有类型为double的半径、周长和面积属性,具有求周长、面积的功能。package exercise;class Trangledouble sideA,sideB,sideC,area,length;boolean boo;/带三个参数的构造函数public Trangle(double a,double b,double c) sideA=a;/参数a,b,c 分别赋值给sideA,sideB,sid

3、eCsideB=b;sideC=c;if(sideA+sideBsideC & sideA+sideCsideB & sideB+sideCsideA) /a,b,c 构成三角形的条件表达式boo=true;/给boo 赋值。elseboo=false;/给boo 赋值。double getLength()return sideA+sideB+sideC;/方法体,要求计算出length 的值并返回/计算三角形的面积public double getArea()if(boo)double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*

4、(p-sideB)*(p-sideC);return area;elseSystem.out.println(不是一个三角形,不能计算面积);return 0;public void setABC(double a,double b,double c)sideA=a;/参数a,b,c 分别赋值给sideA,sideB,sideCsideB=b;sideC=c;if(sideA+sideBsideC & sideA+sideCsideB & sideB+sideCsideA)/a,b,c 构成三角形的条件表达式boo=true;/给boo 赋值。 else boo=false;/给boo 赋值。

5、/定义一个梯形类class Laderdouble above,bottom,height,area;Lader(double a,double b,double h)above=a;/方法体,将参数a,b,c 分别赋值给above,bottom,heightbottom=b;height=h;double getArea()return (above+bottom)*height/2.0;/方法体,,要求计算出area 返回/定义一个圆类class Circle double radius,area;Circle(double r)radius=r;/方法体double getArea()

6、return Math.PI*Math.pow(radius, 2);/方法体,要求计算出area 返回double getLength()return 2*Math.PI*radius;/getArea 方法体的代码,要求计算出length 返回void setRadius(double newRadius) radius=newRadius;double getRadius() return radius;public class shiyan4_1public static void main(String args)double length,area;Circle circle=nu

7、ll;Trangle trangle;Lader lader; circle=new Circle(3);/创建对象circle trangle=new Trangle(6,5,2);/创建对象trangle。 lader=new Lader(8,9,6);/创建对象laderlength=circle.getLength();/ circle 调用方法返回周长并赋值给lengthSystem.out.println(圆的周长:+length);area=circle.getArea();/ circle 调用方法返回面积并赋值给areaSystem.out.println(圆的面积:+are

8、a);length=trangle.getLength();/ trangle 调用方法返回周长并赋值给lengthSystem.out.println(三角形的周长:+length);area=trangle.getArea();/ trangle 调用方法返回面积并赋值给areaSystem.out.println(三角形的面积:+area);area=lader.getArea();/ lader 调用方法返回面积并赋值给areaSystem.out.println(梯形的面积:+area);trangle=new Trangle(12,34,1);/ trangle 调用方法设置三个边

9、,要求将三个边修改为12,34,1。area=trangle.getArea();/ trangle 调用方法返回面积并赋值给areaSystem.out.println(三角形的面积:+area);length=trangle.getLength();/ trangle 调用方法返回周长并赋值给lengthSystem.out.println(三角形的周长:+length);2实例成员与类成员的使用。按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。package exercise;class Afloat a;static float b;void setA(f

10、loat A)a = A;void setB(float B)b = B;float getA()return a;float getB()return b;void outputA()System.out.println(a);static void outputB()System.out.println(b);public class shiyan4_2 SuppressWarnings(static-access)public static void main(String args) / TODO Auto-generated method stubA.b = 100;A.output

11、B();A cat = new A();A dog = new A();cat.setA(200);cat.setB(400);dog.setA(150);dog.setB(300);cat.outputA();cat.outputB();dog.outputA();dog.outputB();3.方法中参数传递的练习在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。对象调用是指先调用对象,再调用对象的方法,这种方

12、式可以修改允许存取的成员变量。所以,如果不想改变参数的值,可以采用传值调用的方法。如果想改变参数的值,可采用对象调用的方法,间接修改参数的值。(1)编写一个传值调用的程序文件SY3_3.java。程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1 对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。package exercise;public class shiyan4_3 public static void main(String args) / TODO Auto-generated method stubint x = 10

13、, y = 10;swap(x, y);System.out.println(x = + x + , y = + y);static void swap(int passX, int passY)passX = passX * passX;passY = passY * passY;System.out.println(passX = + passX + , passY = + passY);(2)编写一个调用对象方法的程序文件SY3_4.java。package exercise;public class shiyan4_4 public static void main(String ar

14、gs) / TODO Auto-generated method stubPower p = new Power();p.swap(p.x, p.y);System.out.println(方法调用后 x = + p.x + , y = + p.y);class Powerint x = 10, y = 10;void swap(int passX, int passY)System.out.println(初始时 x = + x + , y = + y);x = passX * passX;y = passY * passY;System.out.println(方法调用中 x = + x +

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号