编写可着色接口Colorable,其中有一个howToColor()的void方法 可着色对象的每个了必须实现Colorable接口,设计一个名为Square的类,继承GemetricObject类并实现Colorable接口,实现howToColor方法,显示一个消息"Color all four sides"(给所有四条边着色) 编写一个测试程序,创建五个GeometricObject对象的数组,对于数组中的每个对象而言,如果对象是可着色的就调用HowToColor方法
时间: 2024-02-11 21:07:45 浏览: 67
好的,我明白了你的问题。下面是对应的Java代码实现:
```java
// Colorable接口
public interface Colorable {
void howToColor();
}
// GeometricObject类
public abstract class GeometricObject {
// 省略其他代码
}
// Square类,继承GeometricObject类并实现Colorable接口
public class Square extends GeometricObject implements Colorable {
// 省略其他代码
@Override
public void howToColor() {
System.out.println("Color all four sides");
}
}
// 测试程序
public class TestColorable {
public static void main(String[] args) {
GeometricObject[] objects = new GeometricObject[5];
objects[0] = new Square(); // 可着色对象
objects[1] = new Circle(); // 非可着色对象
objects[2] = new Rectangle(); // 非可着色对象
objects[3] = new Triangle(); // 非可着色对象
objects[4] = new Square(); // 可着色对象
for (GeometricObject object : objects) {
if (object instanceof Colorable) {
((Colorable) object).howToColor(); // 调用可着色对象的方法
}
}
}
}
```
在测试程序中,我们创建了一个GeometricObject类型的数组,并初始化其中的对象。接着,我们使用for-each循环遍历数组,如果对象是可着色的,则调用其howToColor方法。注意,在调用该方法时,需要将对象强制转换为Colorable类型。
阅读全文