Java任务一:编写`Shapes`的接口,接口包括计算面积、计算周长和打印信息三个方法。 任务二:编写程序:三个实现了该接口的类:`Rectangle`(矩形)、`Circle`(圆)和`Square`(正方形)。 任务三:编写一个测试类来验证这些实现的功能
时间: 2024-10-20 13:05:46 浏览: 29
在Java中,你可以按照以下步骤完成这个任务:
**任务一:创建Shapes接口**
```java
public interface Shapes {
double getArea();
double getCircumference();
void printInfo();
}
```
在这个接口中,我们定义了三个方法,分别对应形状的面积计算、周长计算以及基本信息的打印。
**任务二:实现接口的类**
1. **Rectangle 类**
```java
public class Rectangle implements Shapes {
private double length;
private double width;
// 构造函数,getters和setters省略
public double getArea() {
return length * width;
}
public double getCircumference() {
return 2 * (length + width);
}
@Override
public void printInfo() {
System.out.println("This is a rectangle with area " + getArea() + " and circumference " + getCircumference());
}
}
// 同理,Circle 和 Square 类需要添加适当的属性和方法,这里省略
class Circle implements Shapes {
private double radius;
// ... 定义并实现 getArea(), getCircumference(), printInfo()
}
class Square extends Rectangle {
// 使用 Rectangle 的长度和宽度作为 Square 的边长
public Square(double side) {
super(side, side);
}
// ... 定义并实现 getArea(), getCircumference(), printInfo()
}
```
**任务三:测试类验证功能**
```java
import java.util.Arrays;
public class ShapeTest {
public static void main(String[] args) {
Shapes rectangle = new Rectangle(5, 7);
Shapes circle = new Circle(4.0);
Shapes square = new Square(6);
System.out.println("Rectangle info: ");
rectangle.printInfo();
System.out.println("\nCircle info: ");
circle.printInfo();
System.out.println("\nSquare info: ");
square.printInfo();
// 测试方法
double[] areas = {rectangle.getArea(), circle.getArea(), square.getArea()};
Arrays.sort(areas); // 排序以示它们都是正确的数值
System.out.println("Sorted areas: " + Arrays.toString(areas));
}
}
```
在这个测试类中,我们创建了各种形状的对象,并通过接口方法来操作和验证它们的行为。
阅读全文