根据给定的信息,我们可以分析出该程序主要涉及Java编程语言中的基本概念以及具体的类实现细节。下面将逐一解析其中的关键知识点: ### 1. 类的基本结构与定义 #### `Trangle` 类 - **属性**: `Trangle` 类中定义了四个属性:`sideA`, `sideB`, `sideC`, 和 `area` 来表示三角形的三条边和面积;`length` 表示周长;`boo` 是一个布尔类型的变量,用于判断三条边是否可以构成一个有效的三角形。 - **构造方法**: 定义了一个构造方法 `public Trangle(double a, double b, double c)`,接收三个参数来初始化三角形的三边。同时在构造方法中还包含了判断这三条边是否能构成三角形的逻辑。 - **方法**: - `getLength()`: 计算并返回三角形的周长。 - `getArea()`: 如果三角形有效,则计算并返回面积;如果无效,则输出一条错误信息并返回0。 - `setABC(double a, double b, double c)`: 设置三角形的三边。 #### `Lader` 类 - **属性**: `Lader` 类中定义了四个属性:`above`, `bottom`, `height`, 和 `area`,分别表示梯形的上底、下底、高和面积。 - **构造方法**: 定义了一个构造方法 `Lader(double a, double b, double h)`,接收三个参数来初始化梯形的上底、下底和高。 - **方法**: `getArea()`: 计算并返回梯形的面积。 #### `Circle` 类 - **属性**: `Circle` 类中定义了两个属性:`radius` 和 `area`,分别表示圆的半径和面积。 - **构造方法**: 定义了一个构造方法 `Circle(double r)`,接收一个参数来初始化圆的半径。 - **方法**: - `getArea()`: 计算并返回圆的面积。 - `getLength()`: 计算并返回圆的周长。 - `setRadius(double newRadius)`: 设置圆的新半径。 - `getRadius()`: 返回当前圆的半径。 ### 2. 主程序 `AreaAndLength` - **实例化对象**: - 创建 `Circle` 对象,并设置其半径为 10.0。 - 创建 `Trangle` 对象,并设置其三边分别为 3.0, 4.0, 5.0。 - 创建 `Lader` 对象,并设置其上底为 3.0,下底为 4.0,高为 10.0。 - **调用方法并输出结果**: - 调用 `Circle` 的 `getLength()` 方法计算圆的周长,并输出结果。 - 调用 `Circle` 的 `getArea()` 方法计算圆的面积,并输出结果。 - 调用 `Trangle` 的 `getLength()` 和 `getArea()` 方法计算三角形的周长和面积,并输出结果(注意这里输出的周长和面积实际上是 Circle 的结果)。 - 调用 `Lader` 的 `getArea()` 方法计算梯形的面积,并输出结果。 - 修改 `Trangle` 的三边为 12.0, 34.0, 1.0,并重新计算面积和周长,输出结果。 ### 3. 关键点总结 - **面向对象编程**: 通过类和对象的概念来组织代码,使程序更加模块化和易于维护。 - **构造方法**: 构造方法是类的一个特殊成员方法,用于创建类的对象时初始化对象的状态。 - **封装性**: 类的属性和方法被封装在一起,对外界隐藏内部实现细节,仅提供公共接口供外部调用。 - **继承和多态**: 虽然这个例子没有明确体现这两点,但在更复杂的程序设计中,它们是非常重要的概念。 - **运算与逻辑**: 在各个类的方法中实现了不同的数学计算和逻辑判断。 这段代码通过几个简单的类实现了对三角形、梯形和圆形的面积和周长的计算,涵盖了Java编程的基础概念和面向对象的设计思想。
{
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()
{
length=sideA+sideB+sideC;
return length;//方法体,要求计算出length的值并返回。
}
public double getArea()
{
if(boo)
{
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;
- 粉丝: 5
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助