Factory Design Pattern

The "Factory" can receive different parameters, indicate which object user want. All object should all extend from a parent class.