* 设计一个名为Triangle的三角形类来实现Geometric类,该类包含以下成员 * 1.3个名为side1,side2和side3的double类型的属性,表示三角形的三条边 * 2.一个无参构造方法,用于创建三角形 * 3.一个能创建指定side1
时间: 2023-12-10 07:38:01 浏览: 131
设计一个Triangle类
,side2和side3的构造方法 * 4.一个名为getPerimeter()的方法,返回三角形的周长 * 5.一个名为getArea()的方法,返回三角形的面积 * 6.一个名为toString()的方法,返回一个字符串描述三角形,格式如下: "Triangle: side1 = x, side2 = y, side3 = z" (x,y,z分别表示三角形的三条边的长度)
下面是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 this.side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return this.side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return this.side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getPerimeter() {
return this.side1 + this.side2 + this.side3;
}
public double getArea() {
double s = (this.side1 + this.side2 + this.side3) / 2.0;
return Math.sqrt(s * (s - this.side1) * (s - this.side2) * (s - this.side3));
}
public String toString() {
return "Triangle: side1 = " + this.side1 + ", side2 = " + this.side2 + ", side3 = " + this.side3;
}
}
```
Triangle类继承了Geometric类,因此不需要再定义getArea和getPerimeter方法。在Triangle类中,我们定义了三个属性,用于表示三角形的三条边。我们还提供了两个构造方法,一个是无参构造方法,用于创建一个默认的三角形,另一个是有参构造方法,用于创建指定边长的三角形。我们还提供了getter和setter方法来访问和修改三个属性。
在Triangle类中,我们实现了getPerimeter和getArea方法来计算三角形的周长和面积。其中,getArea方法使用了海伦公式来计算三角形的面积。toString方法用于返回一个字符串描述三角形,格式如上所述。
阅读全文