I don't understand why i must have an abstract class.
Why must we begin with class 'Shape' instead of class 'TwoDimensionShape'?