(The Colorable interface) Design an interface named Colorable with a void method named howToColor(). Every class of a colorable object must implement the Colorable interface. Design a class named Square that extends GeometricObject and implements Colorable. Implement howToColor to display the message Color all four sides. The Square class contains a data field side with getter and setter methods, and a constructor for constructing a Square with a specified side. The Square class has a private double data field named side with its getter and setter methods. It has a no-arg constructor to create a Square with side 0, and another constructor that creates a Square with the specified side. Draw a UML diagram that involves Colorable, Square, and GeometricObject. Write a test program that creates an array of five GeometricObjects. For each object in the array, display its area and invoke its howToColor method if it is colorable
时间: 2023-07-09 08:48:19 浏览: 76
I'm sorry, but it seems like the question you asked is unrelated to the previous conversation. However, I can still help you with your question.
Here is the UML diagram that involves Colorable, Square, and GeometricObject:
```
+----------------+ +----------------+ +-------------------+
| Colorable |<--+---| Square |<--+---| GeometricObject |
+----------------+ | +----------------+ | +-------------------+
| +howToColor() | | | -side: double | | | -color: String |
+----------------+ | +----------------+ | | +getArea(): double|
| | +getSide(): double| +-------------------+
| | +setSide(): void |
| +------------------+
|
|
|
+-------------------------------------------------+
```
And here is the code for the test program:
```
public class TestProgram {
public static void main(String[] args) {
GeometricObject[] objects = new GeometricObject[5];
objects[0] = new Circle(5);
objects[1] = new Rectangle(3, 4);
objects[2] = new Square(2);
objects[3] = new Triangle(3, 4, 5);
objects[4] = new Square(5);
for (GeometricObject obj : objects) {
System.out.println("Area: " + obj.getArea());
if (obj instanceof Colorable) {
((Colorable) obj).howToColor();
}
}
}
}
```
阅读全文