Cursos / Redes de Computadores / Programação Orientada a Objetos / Aula

arrow_back Aula 03 - Objetos, construtores

Métodos Construtores

Antes de tudo, temos que ter em mente que objetos são construídos, você NÃO pode criar um novo objeto sem invocar um construtor. Construtores representam o código que roda sempre que você usa a palavra-chave new.

Toda classe DEVE ter um construtor. Mas isso não significa que o programador tem que necessariamente codificar um. Caso não seja explicitamente declarado, o compilador criará um por padrão. Exemplo de construtor:

Você consegue notar o que está faltando? Cadê o tipo de retorno? Existem dois pontos importantes que devemos notar a respeito dos construtores. Primeiro, é que eles não têm tipo de retorno, segundo, que o nome deve ser igual ao nome da classe. Você pode estar se perguntando: se eu quiser, no momento da criação do objeto, passar valores para alguns de seus atributos, como placa e cor, por exemplo? É possível?

É sim! Esta é a função básica dos construtores!

Mas, se a classe não tiver método construtor? O objeto ainda pode ser criado usando a instrução (ou operador) new. Mas, nesse caso, será provavelmente necessário chamar métodos set, como fizemos anteriormente. Considere a seguinte definição de um método construtor na classe Carro adicionando o método construtor mostrado na Listagem 3:

Listagem 3 – Construtor para classe Carro

Observe que esse método possui o mesmo nome da classe Carro e não possui tipo de retorno, pois seu retorno, como já mencionamos, é justamente a referência para o objeto na memória, lembra-se disso?

Atenção, se fizermos apenas essa alteração, iremos nos deparar com um erro de compilação na classe Main. Você sabe por quê?

Então, como finalmente criamos uma instância da classe Carro utilizando o seu construtor? Exemplo:

Observe que quando utilizamos o operador new não existem argumentos (ou parâmetros) dentro dos parênteses. Isso significa que podemos estar usando o construtor padrão (ou, em inglês, default).

Versão 5.3 - Todos os Direitos reservados