编写一个多边形抽象类 Polygon,具有成员属性面积 area。再编写Polygon 类的两个子类矩形类 Rectangle 和三角形类 Triangle,它们都有计算面积的方法getArea()。请读者自行添加并完善这两个子类,完成各自面积的计算。
时间: 2024-12-10 15:50:31 浏览: 13
这是一个简单的面向对象编程的概念示例,我们可以创建一个抽象类`Polygon`,它有一个通用的属性`area`表示多边形的面积,以及一个抽象方法`calculateArea()`用于计算面积。然后,我们为这个抽象类创建两个具体的子类`Rectangle`和`Triangle`。
首先,创建`Polygon`抽象类:
```java
public abstract class Polygon {
protected double sideLength; // 假设所有多边形都有边长作为共同属性
public Polygon(double sideLength) {
this.sideLength = sideLength;
}
public abstract double calculateArea();
// 其他通用方法...
}
```
接着,为`Rectangle`和`Triangle`子类提供各自的计算面积方法:
```java
public class Rectangle extends Polygon {
private double width;
public Rectangle(double width, double height) {
super(width + height); // 对于矩形,可以假设面积等于两倍长乘以宽
this.width = width;
}
@Override
public double calculateArea() {
return width * sideLength;
}
}
public class Triangle extends Polygon {
private double base;
private double height;
public Triangle(double base, double height) {
super(base / 2 * height); // 三角形面积公式:底乘以高除以2
this.base = base;
this.height = height;
}
@Override
public double calculateArea() {
return 0.5 * base * height;
}
}
```
现在,读者可以根据需要实例化这些类,并通过`getArea()`方法获取其各自的面积,如:
```java
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(5, 4);
System.out.println("Rectangle area: " + rectangle.getArea());
Triangle triangle = new Triangle(6, 8);
System.out.println("Triangle area: " + triangle.getArea());
}
```
阅读全文