接口与实现:Circle、Rectangle与MoveAble接口应用
需积分: 1 87 浏览量
更新于2024-09-13
收藏 101KB DOC 举报
本文档展示了Java编程中的接口和类的使用,涉及到`AreaInterface`、`MoveAble`两个接口,以及`Circle`、`Rectangle`类的实现。此外,还有`J_area`类和`Test`测试类的部分代码。
在Java编程中,接口(Interface)是一种定义行为规范的抽象类型,它只包含常量和抽象方法。在给定的代码中,有两个接口:`AreaInterface` 和 `MoveAble`。
1. `AreaInterface` 定义了一个公共常量 `pai`(表示圆周率π)和一个抽象方法 `area()`。任何实现这个接口的类都必须提供 `area()` 方法的具体实现,用于计算面积。`Circle` 类就实现了 `AreaInterface`,并提供了计算圆面积的方法。
```java
public interface AreaInterface {
public double pai = Math.PI; // 定义公共常量
public abstract double area(); // 定义抽象方法
}
public class Circle implements AreaInterface, MoveAble {
// ...
public double area() {
return pai * r * r; // 实现AreaInterface中的area()方法,计算圆面积
}
// ...
}
```
2. `MoveAble` 接口定义了一个抽象方法 `move(int delx, int dely)`,表示可以移动的对象。`Circle` 类同样实现了这个接口,提供了一个移动对象位置的方法。
```java
public interface MoveAble {
public abstract void move(int delx, int dely); // 定义抽象方法
}
public class Circle implements AreaInterface, MoveAble {
// ...
public void move(int delx, int dely) {
x += delx; // 移动对象的坐标
y += dely;
}
// ...
}
```
3. `Rectangle` 类实现了 `AreaInterface` 接口,定义了矩形的长和宽,并提供了计算周长和面积的方法。它没有实现 `MoveAble` 接口,所以不具有移动能力。
```java
public class Rectangle implements AreaInterface {
double a, b;
// ...
@Override
public double area() {
return a * b; // 实现AreaInterface中的area()方法,计算矩形面积
}
public double length() {
return (a + b) * 2; // 计算矩形周长
}
}
```
4. `J_area` 类看起来是为了计算特定形状的面积,如圆和矩形,但它没有实现任何接口,可能是一个辅助工具类。`J_area` 类有两个 `area()` 方法,分别根据半径计算圆的面积和根据长度与宽度计算矩形的面积。
```java
public class J_area {
public double area(int t) {
return Math.PI * t * t; // 计算圆面积
}
public double area(int a, int b) {
return a * b; // 计算矩形面积
}
}
```
5. `Test` 类是测试类,创建了 `Rectangle` 类的一个实例并输出其周长。完整的测试代码应该包括对各个类和方法的调用,以验证它们的功能正确性。
```java
public class Test {
public static void main(String[] args) {
Rectangle s = new Rectangle(4, 5);
System.out.println(s.length()); // 输出矩形的周长
// 应该添加更多测试代码来验证其他类和方法的正确性
}
}
```
这段代码展示了如何使用接口来定义对象的行为,以及如何通过类实现接口来提供具体功能。同时,还展示了如何通过类来表示几何形状,以及如何计算这些形状的面积和周长。
2021-06-27 上传
295 浏览量
161 浏览量
190 浏览量
2022-12-16 上传
1417 浏览量
201 浏览量
135 浏览量
点击了解资源详情
旧梦空城
- 粉丝: 1
- 资源: 2