Factory Design Pattern

In this project i have created a simple abstract Car class which can
have multiple implementations (HatchBack, Sedan, SUV).

Created a factory class which returns object of different
implementations so that

1. it is loosely coupled and if any new implementation need to be added
in future ca be added without changing the current implementation.

2. If at the runtime it needs to be decided that which implementation
of the Car class needs to be created, it can be created by the factory
class very easily.