java 定义一个Shape抽象类,包含一个抽象方法 calculateArea(),以及实现了toString()方法,分别为计算面 积和输出图形信息。定义Triangle类和Circle类分别继承实现 自己特有的计算面积方法的测试类
时间: 2023-06-17 17:06:00 浏览: 252
下面是对应的Java代码实现:
```
abstract class Shape {
public abstract double calculateArea();
public abstract String toString();
}
class Triangle extends Shape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
public double calculateArea() {
return 0.5 * base * height;
}
public String toString() {
return "Triangle [base=" + base + ", height=" + height + "]";
}
}
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double calculateArea() {
return Math.PI * radius * radius;
}
public String toString() {
return "Circle [radius=" + radius + "]";
}
}
public class ShapeTest {
public static void main(String[] args) {
Shape triangle = new Triangle(10, 5);
System.out.println(triangle.toString());
System.out.println("Area: " + triangle.calculateArea());
Shape circle = new Circle(5);
System.out.println(circle.toString());
System.out.println("Area: " + circle.calculateArea());
}
}
```
在这个例子中,我们定义了一个抽象类 `Shape`,其中包含一个抽象方法 `calculateArea()` 用于计算面积,以及一个实现了 `toString()` 方法用于输出图形信息。然后我们定义了 `Triangle` 类和 `Circle` 类分别继承 `Shape` 类,并实现了自己特有的计算面积方法。最后,我们定义了一个测试类 `ShapeTest`,在其中创建了一个三角形对象和一个圆形对象,并分别调用了它们的 `toString()` 方法和 `calculateArea()` 方法进行测试。
阅读全文