Construtor

Definição – o que significa Construtor?

Um construtor é um método especial de uma classe ou estrutura em programação orientada a objetos que inicializa um objeto recém-criado desse tipo. Sempre que um objeto é criado, o construtor é chamado automaticamente.

Um construtor é como um método de instância que geralmente tem o mesmo nome da classe e pode ser usado para definir os valores dos membros de um objeto, tanto como valores padrão quanto definidos pelo usuário. No entanto, embora se pareça com ele, um construtor não é um método adequado, pois não tem um tipo de retorno. Em vez de realizar uma tarefa executando o código, o construtor inicializa o objeto e ele não pode ser estático, final, abstrato e sincronizado.

Definirtec explica construtor

Construtores não são chamados explicitamente e são chamados apenas uma vez durante sua vida útil. No caso de uma hierarquia de classes em que uma classe derivada herda de uma classe pai, a sequência de execução do construtor é uma chamada para o construtor da classe pai primeiro e depois o da classe derivada. Construtores não podem ser herdados.

Os usuários não precisam escrever construtores para todas as classes. Um construtor pode ser declarado usando qualquer um dos modificadores de acesso. É obrigatório ter um construtor com o modificador de acesso correto.

No entanto, o compilador fornece um padrão se um modificador de acesso não for definido na classe e um construtor não for declarado. Este construtor padrão não pode ser encontrado no código-fonte, pois está no arquivo .class. Seu comportamento depende do idioma.

Embora seja frequentemente confundido com um construtor padrão, em construtores Java sem argumentos também existem e são chamados de “construtores sem arg”. Embora eles compartilhem a assinatura com o construtor padrão, o corpo dos construtores no-arg não está vazio e eles podem ter qualquer código. Construtores com argumentos, em vez disso, são conhecidos como “construtores parametrizados”.

Se um construtor for declarado como privado, a classe não pode ser criada ou derivada e, portanto, não pode ser instanciada. Esse construtor, no entanto, pode ser sobrecarregado com diferentes conjuntos de parâmetros.

O seguinte é recomendado no projeto do construtor:

  • A lógica que envolve operações específicas que precisam ser executadas em um determinado evento em um aplicativo – como abrir uma conexão de banco de dados – não deve ser escrita em um construtor.

  • Ao usar construtores de classe derivada, o construtor da classe pai deve receber os parâmetros corretos.

  • Uma melhor capacidade de manutenção do código vem de ter a inicialização e outras lógicas relacionadas em um construtor principal e fazer uma chamada cruzada desse construtor a partir de outros construtores sobrecarregados.

  • Como um construtor não pode retornar um valor para o código de chamada, é uma boa prática lançar uma exceção quando uma falha for encontrada.

O encadeamento do construtor ocorre sempre que uma classe base é estendida por um filho. A classe pai é, portanto, chamada primeiro sempre que um objeto dessa classe filho é criado.