设计一个名为Colorable的接口,其中有名为howToColor()的公有void方法。可着色对象的每个类必须实现Colorable接口。 设计一个名为GeometricObject的类,有颜色color(String)和着色filled(boolean)两个私有变量以及无参和两个参数的构造方法。需增加这两个属性的构造器和修改器。重写toString()方法,返回颜色与着色信息,具体返回格式如下(可直接复制到对应方法的对应位置):"Color="+color+"\nFilled="+
时间: 2024-02-17 22:01:23 浏览: 64
好的,下面是对应的Java代码实现:
```java
public interface Colorable {
void howToColor();
}
```
```java
public abstract class GeometricObject implements Colorable {
private String color;
private boolean filled;
public GeometricObject() {
this.color = "white";
this.filled = false;
}
public GeometricObject(String color, boolean filled) {
this.color = color;
this.filled = filled;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isFilled() {
return filled;
}
public void setFilled(boolean filled) {
this.filled = filled;
}
@Override
public String toString() {
return "Color=" + color + "\nFilled=" + filled;
}
}
```
在这个代码中,我们首先定义了一个`Colorable`接口,其中包含了一个名为`howToColor()`的公有void方法,用于指定如何着色。
接着,我们定义了一个抽象类`GeometricObject`,其中包含了两个私有变量`color`和`filled`,分别用于存储颜色和着色信息。我们还提供了无参和两个参数的构造方法,以及相应的修改器和访问器。最后,我们重写了`toString()`方法,用于返回颜色和着色信息的字符串表示。
由于题目中要求可着色对象的每个类必须实现`Colorable`接口,因此我们在这里将`GeometricObject`类也实现了`Colorable`接口。由于`GeometricObject`是一个抽象类,因此并没有提供具体的`howToColor()`方法实现,而是留给具体的子类去实现。
阅读全文