* 设计一个名为Triangle的三角形类来实现Geometric类,该类包含以下成员 * 1.3个名为side1,side2和side3的double类型的属性,表示三角形的三条边 * 2.一个无参构造方法,用于创建三角形 * 3.一个能创建指定side1
时间: 2023-11-22 09:55:10 浏览: 146
, side2和side3的构造方法 * 4.一个名为getPerimeter的方法,返回三角形的周长 * 5.一个名为getArea的方法,返回三角形的面积 * 6.一个名为isEquilateral的方法,返回一个布尔值,表示三角形是否为等边三角形 * 7.一个名为isIsosceles的方法,返回一个布尔值,表示三角形是否为等腰三角形 * 8.一个名为isScalene的方法,返回一个布尔值,表示三角形是否为不等边三角形
以下是Triangle类的代码实现:
```java
public class Triangle extends Geometric {
private double side1;
private double side2;
private double side3;
public Triangle() {
this.side1 = 1.0;
this.side2 = 1.0;
this.side3 = 1.0;
}
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getPerimeter() {
return side1 + side2 + side3;
}
public double getArea() {
// 使用海伦公式计算面积
double p = (side1 + side2 + side3) / 2.0;
return Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
}
public boolean isEquilateral() {
return side1 == side2 && side2 == side3;
}
public boolean isIsosceles() {
return side1 == side2 || side1 == side3 || side2 == side3;
}
public boolean isScalene() {
return side1 != side2 && side2 != side3 && side1 != side3;
}
}
```
Triangle类继承了Geometric类,因此可以使用其getArea方法来计算三角形的面积。isEquilateral、isIsosceles和isScalene方法分别检查三角形是否为等边三角形、等腰三角形和不等边三角形。