实验二编写一个代表三角形的类
时间: 2024-10-11 09:16:20 浏览: 25
编写一个抽象类Shape
4星 · 用户满意度95%
实验二中,你可以编写一个名为`Triangle`的类来代表三角形。这个类通常会包含三角形的基本属性,如三个边长(side1, side2, side3)或两个角度和一条边(例如 base 和 height)。三角形类可能会有以下几个关键部分:
1. **属性**:
- `side1`, `side2`, `side3`: 表示三角形三边的长度,通常需要满足三角形的边长关系(任意两边之和大于第三边)。
- `base` 和 `height` (如果是一种特定类型的三角形,比如直角三角形)。
2. **构造函数**:
- 初始化三角形的边长或特定属性值。
3. **方法**:
- `getPerimeter()`:计算并返回周长。
- `getArea()`:根据边长计算面积(对于普通三角形可以用海伦公式,对于直角三角形可以利用勾股定理)。
- `isValid()`:检查三角形的边长是否满足构成条件。
4. **继承或接口**:
- 如果打算创建更具体的三角形类型,如等腰三角形、等边三角形或直角三角形,那么可以使用继承自`Triangle`的子类,并重写相应的方法。
```java
public class Triangle {
private double side1;
private double side2;
private double side3;
// 构造函数
public Triangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
this.side1 = a;
this.side2 = b;
this.side3 = c;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 方法
public double getPerimeter() {
return side1 + side2 + side3;
}
public double getArea() {
// 提供不同三角形的面积计算逻辑
}
public boolean isValid() {
return side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1;
}
}
```
阅读全文