Triangle类设计要求如下: ■ 三个名为side1、side2和 side3的double类型的私有数据域表示三角形的三条边。它们的默认值是1.0。要求三个数据域保留2位小数。 ■ 一个无参的构造方法创建默认三角形。 ■ 一个能创建带指定side1、side2和 side3的有参构造方法。 ■ 所有三个数据域的访问器和修改器方法。 ■ 父类抽象方法的实现。 ■ 重写toString方法。
时间: 2024-03-15 13:44:56 浏览: 21
好的,以下是 Triangle 类的代码实现:
```java
import java.text.DecimalFormat;
public class Triangle extends Shape {
private double side1;
private double side2;
private double side3;
private DecimalFormat df = new DecimalFormat("0.00");
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;
}
@Override
public double getArea() {
double p = (side1 + side2 + side3) / 2;
return Double.parseDouble(df.format(Math.sqrt(p * (p - side1) * (p - side2) * (p - side3))));
}
@Override
public double getPerimeter() {
return Double.parseDouble(df.format(side1 + side2 + side3));
}
@Override
public String toString() {
return "Triangle: side1 = " + side1 + ", side2 = " + side2 + ", side3 = " + side3;
}
}
```
Triangle 类继承自 Shape 类,重写了 Shape 类中的 getArea() 和 getPerimeter() 方法,并实现了 toString() 方法。
其中,getArea() 方法使用海伦公式计算三角形的面积,getPerimeter() 方法计算三角形的周长。toString() 方法返回三角形的三条边长度信息。