We intend to create a simple tool in Java to create images constituted by characters, called ASCII Art.
The class Shape is abstract and it is extended by a Rectangle, a Circle, a Triangle or an Aggregate. An Aggregate is a complex form that combines two or more shapes. This form allows to create complex shapes in a modular way, for instance, it allows to create a house aggregate which is then used in a city aggregate. The method intersection receives an integer y and returns an array of integers which represents the x points such that (x,y) belongs to the respective shape.
The class Image has the methods to obtain the ASCII art from combined shapes:
- The method line receives the number y of the line and returns a String which corresponds to the y-th line of the image of characters.
- The method toString returns the string with the full image of characters.
(a) Implement it in Java.
(b) Test your program (in a main method).