Java类及对象实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安邮电大学
(计算机学院)
课实验报告
实验名称:类与对象
专业名称:计算机科学与技术
班级:计科1405班
学生:高宏伟
学号:04141152
指导教师:霞林
实验日期:2016.9.29
一、实验目的
通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法。
二、实验要求
1.编写一个创建对象和使用对象的方法的程序。
2.编写一个包含类成员和示例成员的程序。
3.编写一个使用Java包的程序。
三、实验容
(一)三角形、梯形和圆形的类封装
✧实验要求:
编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle
类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个
boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积
的功能。
c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、
面积的功能。
✧程序模板:
AreaAndLength.java
class Trangle
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
this.sideA=a; //【代码1】参数a,b,c分别赋值给sideA,sideB,sideC
this.sideB=b;
this.sideC=c;
if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB)
//【代码2】a,b,c构成三角形的条件表达式
{
boo=true;//【代码3】给boo赋值。
}
else
{
boo=false;【代码4】//给boo赋值。
}
}
double getLength()
{
return sideA+sideB+sideC;【代码5】//方法体,要求计算出length的值并返回
}
public double getArea()
{
if(boo)
{
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;
return area;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a,double b,double c)
{
this.sideA=a;
this.sideB=b;
this.sideC=c; //【代码6】参数a,b,c分别赋值给sideA,sideB,sideC
if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB
【代码7】) //a,b,c构成三角形的条件表达式
{
boo=true;【代码8】//给boo赋值。
}
else
{
boo=false;【代码9】//给boo赋值。
}
}
}
class Lader
{
double above,bottom,height,area;
Lader(double a,double b,double h)
{
this.above=a;
this.bottom=b;
this.height=h;【代码10】//方法体,将参数a,b,c分别赋值给above,bottom,height
}
double getArea()
{
return (above+bottom)*height/2;【代码11】//方法体,,要求计算出area 返回
}
}
class Circle
{
double radius,area;
Circle(double r){ this.radius=r;【代码12】//方法体}
double getArea(){ return Math.PI*radius*radius;
//【代码13】方法体,要求计算出area返回
}
double getLength(){
return Math.PI*2*radius; //【代码14】getArea方法体的代码,要求计算出length返回}
void setRadius(double newRadius) { radius=newRadius; }
double getRadius(){return radius; }
}
public class AreaAndLength {
public static void main(String args[]){
double length,area;