用Java编写一个抽象类表示形状,其中有一个求面积的抽象方法。继承该抽象类分别编写三角形、园,矩形类,创建一个数组存放创建的各类图形对象,输出图形面积。【提示】根据求面积的需要考虑各类图形的属性,并编写构造方法。
时间: 2024-02-24 19:59:41 浏览: 109
好的,我知道了。下面是用Java编写的代码:
```java
abstract class Shape {
public abstract double getArea();
}
class Triangle extends Shape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
public double getArea() {
return base * height / 2;
}
}
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
}
public class Main {
public static void main(String[] args) {
Shape[] shapes = new Shape[3];
shapes[0] = new Triangle(3, 4);
shapes[1] = new Circle(2);
shapes[2] = new Rectangle(4, 5);
for (Shape shape : shapes) {
System.out.println("面积为:" + shape.getArea());
}
}
}
```
以上代码中,`Shape` 类是一个抽象类,其中定义了一个抽象方法 `getArea()`,用于求面积。`Triangle`、`Circle`、`Rectangle` 类继承了 `Shape` 类,并实现了 `getArea()` 方法。
在 `Main` 类中,创建了一个 `Shape` 数组,分别用三角形、圆和矩形的对象初始化数组元素。然后遍历数组,调用每个对象的 `getArea()` 方法,输出面积。
阅读全文