Assignment #4 (3.75%)
Posted on Sunday, April 7, 2024
Due Date: Wednesday, April 10, 2024, at 11:59 PM
Submit to Slate Drop box for Assignment #4
Late submissions: 10% penalty per day up to 3 days until Saturday, April 13 at 11:59 PM
Then no marks after late submission deadline
Related Topics: Interfaces, The Comparable Interface, The Cloneable Interface.
Class GeometricObject is superclass of classes Circle and Rectangle. 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, a no-arg constructor to create a square with side 1, a constructor for constructing a Square with a specified side, and a toString method.
Draw a UML diagram that involves Colorable, Square, Circle, Rectangle, and GeometricObject. Write a test program (Assignment4) that creates an array of five GeometricObjects. For each object in the array, display its dimension(s), area, and invoke its howToColor method if it is colorable.
GeometricObjects are:
1. A square with side 3.0
2. A circle with radius 4.0
3. A square with side 5.0
4. A rectangle with width 6.0 and height 7.0
5. A square with side 8.0