设计一个长方形类,成员变量包括长和宽。类中有计算面 积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自 定义的包。
时间: 2024-10-20 14:07:50 浏览: 24
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
为了设计一个长方形类,并满足题目要求,首先需要创建一个名为`Rectangle`的类,包含成员变量`length`和`width`,以及对应的getter和setter方法。同时,定义两个方法`calculateArea()`和`calculatePerimeter()`分别用于计算面积和周长。
```java
// 自定义包 com.example.geometry
package com.example.geometry;
public class Rectangle {
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// Getter and Setter methods
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
// 计算面积
public double calculateArea() {
return length * width;
}
// 计算周长
public double calculatePerimeter() {
return 2 * (length + width);
}
}
```
接下来,我们可以编写一个测试类`RectangleTest`,在其中实例化`Rectangle`对象并测试其功能:
```java
import org.junit.Test;
import static org.junit.Assert.assertEquals;
// 自定义测试包 com.example.geometry.test
package com.example.geometry.test;
import com.example.geometry.Rectangle;
public class RectangleTest {
@Test
public void testRectangleMethods() {
// 创建一个长方形对象
Rectangle rectangle = new Rectangle(5.0, 3.0);
// 测试设置和获取长度
rectangle.setLength(7.0);
assertEquals(7.0, rectangle.getLength());
// 测试设置和获取宽度
rectangle.setWidth(4.0);
assertEquals(4.0, rectangle.getWidth());
// 测试计算面积
double expectedArea = rectangle.calculateArea();
assertEquals(30.0, expectedArea, 0.01); // 非精确比较,允许一定程度误差
// 测试计算周长
double expectedPerimeter = rectangle.calculatePerimeter();
assertEquals(26.0, expectedPerimeter, 0.01);
}
}
```
在这个测试类中,我们通过JUnit框架对`Rectangle`类的功能进行了验证,确保设置了正确的值后,面积和周长计算结果正确无误。
阅读全文