类与对象
实验一 三角形、梯形和圆形的类封装
实验目的: 使用类来封装对象的属性和功能
实验要求:编写一个Java应用程序,该程序中有3个类:Trangle
、Lader和Circle,分别用来刻画“三角形”“梯形”和“圆形”。具体要求如下:
Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle
类具有返回周长、面积以及修改三个边的功能。另外该类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。
Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积功能。
代码:
class Trangle
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
sideA=a;sideB=b;sideC=c; // 参数a, b, c分别赋值给sideA, sideB, sideC
if(a+b>c&a+c>b&b+c>a) //a, b,
c构成三角形的条件表达式
{
boo=true;
// 给boo赋值
}
else
{
boo=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)*(p-sideB)*(p-sideC)) ;
return area;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a,double b,double c)
{
class Circle
{
double radius,area;
Circle(double r)
{
radius =r;
// 方法体
}
double getArea( )
{
return 3.1415926*radius*radius;
// 方法体,要求计算出area返回
}
double getLength( )
{
return 2*3.1415926*radius;
// getArea方法体的代码,要求计算出length返回
}
void setRadius(double newRadius)
{
radius=newRadius;
}
double getRadius( )
{
return radius;
}
}
public class AreaAndLength
{
public static void main(String args[ ])
{
double length,area;
Circle circle=null;
Trangle trangle;
Lader lader;
circle=new Circle(10); //创建对象circle
trangle=new Trangle(5,8,10); //创建对象trangle
lader=new Lader(5,8,10); //创建对象lader
length=circle.getLength();
System.out.println("圆的周长:"+length); //
circle调用方法返回周长并赋值给length
area=circle.getArea();
System.out.println("圆的面积:"+area); //
circle调用方法返回面积并赋值给area
length=trangle.getLength();
System.out.println("三角形的周长:"+length); //
trangle调用方法返回周长并赋值给length
area=trangle.getArea();
System.out.println("三角形的面积:"+area); //
trangle调用方法返回面积并赋值给area
area=lader.getArea();
System.out.println("梯形的面积:"+area); //
lader调用方法返回面积并赋值给area
trangle=new Trangle(12,34,1); //
trangle调用方法返修改三个边的代码,要求将三个边修改为12,34,1
area=trangle.getArea();
System.out.println("三角形的面积:"+area);// trangle调用方法返回面积并赋值给area
length=trangle.getLength();
System.out.println("三角形的周长:"+length); //
trangle调用方法返回周长并赋值给length
}
}