Cursos / Automação Industrial / Programação Orientada a Objetos / Aula
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 CarroObserve 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