atualização de princípios OO
factory method