编写程序,定义一个接口 Compute, 声明计算周长calgirth () 和面积 calarea O 的方法,然后定义一个长方形类RRect 和四类Circ1e,两个类都实现接口 Compute, 最后编 写测试类进行测试。
时间: 2024-10-20 18:06:55 浏览: 39
首先,我们需要编写一个接口`Compute`,声明计算周长和面积的方法:
```java
// 定义接口 Compute
public interface Compute {
double calculatePerimeter();
double calculateArea();
}
```
接下来,我们将创建两个类`Rectangle`(长方形)和`Circle`(圆),它们都将实现`Compute`接口:
```java
// 长方形类 RRect 实现 Compute 接口
public class Rectangle implements Compute {
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 计算周长和面积的方法
@Override
public double calculatePerimeter() {
return 2 * (length + width);
}
@Override
public double calculateArea() {
return length * width;
}
}
// 圆形类 Circle 实现 Compute 接口
public class Circle implements Compute {
private double radius;
// 构造函数
public Circle(double radius) {
this.radius = radius;
}
// 计算周长和面积的方法
@Override
public double calculatePerimeter() {
return 2 * Math.PI * radius;
}
@Override
public double calculateArea() {
return Math.PI * Math.pow(radius, 2);
}
}
```
最后,我们编写一个测试类`TestCompute`来进行实例化和测试:
```java
import org.junit.Test;
public class TestCompute {
@Test
public void testRectangle() {
Rectangle rectangle = new Rectangle(5, 10);
System.out.println("Rectangle perimeter: " + rectangle.calculatePerimeter());
System.out.println("Rectangle area: " + rectangle.calculateArea());
}
@Test
public void testCircle() {
Circle circle = new Circle(7);
System.out.println("Circle perimeter: " + circle.calculatePerimeter());
System.out.println("Circle area: " + circle.calculateArea());
}
}
```
在这个测试类中,我们创建了`Rectangle`和`Circle`的对象,并分别调用了它们的`calculatePerimeter()`和`calculateArea()`方法,以验证它们是否能正确计算出形状的周长和面积。
阅读全文