Description
In this programming assignment, I create classes that model 2D geometric shapes: Rectangle2D, and Line2D.
These shapes share an abstract base class Shape2D that defines a common set of methods.
The child classes also have their own methods that are appropriate for the shapes, and store their data in different ways. Rectange2D and Circle2D are defined by a bounding box with a top-left x and y, and a width and height. Line2D is defined by its two end points.

