定义一个接口Shap2D,使用该接口实现二维几何图形类Circle(圆形)和Rectangle(矩形)面积的计算,编写实现接口的类以及测试类。
时间: 2024-10-26 08:02:59 浏览: 23
设计一个Shape接口和它的两个实现类Square和Circle,要求如下
首先,我们需要定义一个名为`Shape2D`的接口,它将包含一个计算面积的方法`getArea()`。这个接口可以表示所有二维形状的基本特性。
```java
public interface Shape2D {
double getArea();
}
```
然后,我们可以创建两个实现了`Shape2D`接口的类,分别是`Circle`和`Rectangle`:
```java
import java.util.Scanner;
public class Circle implements Shape2D {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Rectangle implements Shape2D {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
}
```
接下来,我们编写一个测试类`Main`来创建这些形状实例并验证它们的面积:
```java
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the circle radius:");
double circleRadius = scanner.nextDouble();
Circle circle = new Circle(circleRadius);
System.out.printf("Circle area: %.2f\n", circle.getArea());
System.out.println("Enter the rectangle width and height:");
double rectWidth = scanner.nextDouble();
double rectHeight = scanner.nextDouble();
Rectangle rectangle = new Rectangle(rectWidth, rectHeight);
System.out.printf("Rectangle area: %.2f\n", rectangle.getArea());
scanner.close();
}
}
```
在这个例子中,用户可以输入圆的半径和矩形的宽度和高度,然后程序会打印出各自形状的面积。这就是如何定义接口及其实现类,并通过测试类来演示其功能。
阅读全文