(可着色接口Colorable)设计一个名为Colorable的接口,其中有名为howToColor() 的void方法。可着色对象的每个类必须实现Colorable接口。设计一个名为Square的类, 继承自GeometricObject类并实现Colorable接口。实现howToColor方法,显示一个消 息Colorallfoursides(给所有的四条边着色)。编写一个测试程序,创建有五个 GeometricObject对象的数组。对于数组中的每个对象而言,如果对象是可着色的,那就 调用howToColor方法。
时间: 2023-06-16 20:04:37 浏览: 117
下面是实现Colorable接口和Square类的Java代码:
```java
public interface Colorable {
void howToColor();
}
public class Square extends GeometricObject implements Colorable {
private double side;
public Square(double side) {
this.side = side;
}
@Override
public double getArea() {
return side * side;
}
@Override
public double getPerimeter() {
return 4 * side;
}
@Override
public void howToColor() {
System.out.println("Color all four sides");
}
}
```
然后,我们可以编写一个测试程序来创建一个包含五个GeometricObject对象的数组,并对每个可着色对象调用howToColor方法:
```java
public class TestColorable {
public static void main(String[] args) {
GeometricObject[] objects = new GeometricObject[5];
objects[0] = new Square(5);
objects[1] = new Circle(2);
objects[2] = new Square(3);
objects[3] = new Rectangle(4, 5);
objects[4] = new Circle(3);
for (GeometricObject obj : objects) {
if (obj instanceof Colorable) {
((Colorable) obj).howToColor();
}
}
}
}
```
输出结果为:
```
Color all four sides
```