The number of shape varieties
Shape indexes
The shape color
The blocks comprising the shape
The orientation of the shape
Column and row for the shape
Several properties that needs to be overridden from subclasses
Extending the class with both Hashable and Printable interface
Initialization of the Shape object
Comparison operator for the Shape class
Removed an import