Java中用接口实现编写一个抽象类表示形状,其中有一个求面积的抽象方法。继承该抽象类分别编写三角形、园、矩形类,创建一个数组存放创建的各类图形对象,输出图形面积。
时间: 2024-10-21 09:15:27 浏览: 52
在Java中,你可以使用接口(Interface)来实现类似的需求。首先,我们定义一个名为`Shape`的接口,包含一个抽象方法`getArea()`,这个方法代表计算形状面积的行为:
```java
// 定义接口 Shape
public interface Shape {
double getArea();
}
```
接着,我们可以创建三个实现了`Shape`接口的具体类,如`Triangle`, `Circle`, 和 `Rectangle`,每个类都会提供自己的`getArea()`实现:
```java
// 三角形类 Triangle
public class Triangle implements Shape {
private double base;
private double height;
// 构造函数和getArea()方法
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
@Override
public double getArea() {
return 0.5 * base * height;
}
}
// 圆形类 Circle
public class Circle implements Shape {
private double radius;
// 构造函数和getArea()方法
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * Math.pow(radius, 2);
}
}
// 矩形类 Rectangle
public class Rectangle implements Shape {
private double length;
private double width;
// 构造函数和getArea()方法
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length * width;
}
}
```
最后,在主程序中,你可以创建一个`Shape`类型的数组并存储不同类的对象,然后遍历数组调用每个对象的`getArea()`方法来获取并打印它们的面积:
```java
public static void main(String[] args) {
Shape[] shapes = {new Triangle(5, 6), new Circle(4), new Rectangle(3, 7)};
for (Shape shape : shapes) {
System.out.println("The area of the shape is: " + shape.getArea());
}
}
```
阅读全文