Criação de classes construtores, metodos equals, hashcode e toString e alterações diversas.