1.定义一个Graph 接口,声明getArea()方法,getCircumference()方法,分别定义描述圆形的Circle类和描述矩形的Rectangle类,实现Graph接口。
时间: 2024-11-27 15:08:26 浏览: 6
一种新的基于Graph cuts方法的SAR图像分割模型
首先,我们需要定义一个`Graph`接口,它包含了`getArea()`和`getCircumference()`这两个用于计算面积和周长的基本方法。这是因为`Graph`是对形状通用的一个抽象概念:
```java
// Graph接口
public interface Graph {
double getArea();
double getCircumference();
}
```
然后我们创建两个实现了这个接口的具体类,分别是`Circle`和`Rectangle`:
```java
// Circle类实现Graph接口
public class Circle implements Graph {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getCircumference() {
return 2 * Math.PI * radius;
}
}
// Rectangle类实现Graph接口
public class Rectangle implements Graph {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length * width;
}
@Override
public double getCircumference() {
return 2 * (length + width);
}
}
```
在这里,虽然`Circle`和`Rectangle`代表的是不同的几何形状,它们都通过实现`Graph`接口并提供各自的`getArea()`和`getCircumference()`方法,展示了多态性。这使得我们可以统一处理所有遵循`Graph`接口的图形对象。
阅读全文