Java定义Triangle,代表三角形,提供计算三角形周长和面积的方法
时间: 2024-12-16 08:20:41 浏览: 2
在Java中,你可以定义一个名为`Triangle`的类来表示抽象的三角形,它包含三个顶点或者边长等属性,并提供计算周长和面积的方法。这里是一个简单的例子:
```java
public abstract class Triangle {
// 属性:假设三条边长为 private double side1, side2, side3;
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
// 验证是否能构成三角形
if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) {
validateTriangle();
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 抽象方法:计算周长
public abstract double calculatePerimeter();
// 抽象方法:计算面积,对于具体的三角形类型(如直角、等腰等),实现会不同
public abstract double calculateArea();
// 私有方法:验证三边能否构成有效三角形
private void validateTriangle() {
// 实现细节...
}
}
// 如果需要具体的三角形子类,例如等边三角形或直角三角形
class EquilateralTriangle extends Triangle {
@Override
public double calculatePerimeter() {
return side1 * 3;
}
@Override
public double calculateArea() {
double s = side1 / 2; // 等边三角形的半周长公式
return Math.sqrt(s * (s - side1) * (s - side1) * (s - side1));
}
}
// 或者直角三角形
class RightangledTriangle extends Triangle {
// 类型化其中一个角度为90度
private final double rightAngle = Math.PI / 2;
@Override
public double calculatePerimeter() {
return side1 + side2 + side3;
}
@Override
public double calculateArea() {
return 0.5 * side1 * side2; // 使用勾股定理
}
}
```
阅读全文