Constructor

Definición - ¿Qué significa Constructor?

Un constructor es un método especial de una clase o estructura en la programación orientada a objetos que inicializa un objeto recién creado de ese tipo. Siempre que se crea un objeto, el constructor se llama automáticamente.

Un constructor es como un método de instancia que generalmente tiene el mismo nombre que la clase y se puede usar para establecer los valores de los miembros de un objeto, ya sea en valores predeterminados o definidos por el usuario. Sin embargo, aunque se parece a él, un constructor no es un método adecuado ya que no tiene un tipo de retorno. En lugar de realizar una tarea ejecutando código, el constructor inicializa el objeto y no puede ser estático, final, abstracto y sincronizado.

Techinfo explica Constructor

Los constructores no se llaman explícitamente y se invocan solo una vez durante su vida. En el caso de una jerarquía de clases donde una clase derivada hereda de una clase principal, la secuencia de ejecución del constructor es una llamada al constructor de la clase principal primero y luego al de la clase derivada. Los constructores no se pueden heredar.

Los usuarios no necesitan escribir constructores para cada clase. Un constructor se puede declarar utilizando cualquiera de los modificadores de acceso. Es obligatorio tener un constructor con el modificador de acceso correcto.

Sin embargo, el compilador proporciona un valor predeterminado si no se define un modificador de acceso en la clase y no se declara un constructor. Este constructor predeterminado no se puede encontrar dentro del código fuente ya que se encuentra en el archivo .class. Su comportamiento depende del idioma.

Aunque a menudo se confunde con un constructor predeterminado, en Java los constructores sin argumentos también existen y se denominan "constructores sin argumentos". Si bien comparten la firma con el constructor predeterminado, el cuerpo de los constructores sin argumentos no está vacío y pueden tener cualquier código. Los constructores con argumentos, en cambio, se conocen como "constructores parametrizados".

Si un constructor se declara como privado, la clase no se puede crear ni derivar y, por lo tanto, no se puede crear una instancia. Sin embargo, dicho constructor puede estar sobrecargado con diferentes conjuntos de parámetros.

Se recomienda lo siguiente en el diseño de constructores:

  • La lógica que involucra operaciones específicas que deben ejecutarse en un evento particular en una aplicación, como abrir una conexión de base de datos, no debe escribirse en un constructor.

  • Cuando se utilizan constructores de clases derivadas, el constructor de clases padre debe recibir los parámetros correctos.

  • Una mejor capacidad de mantenimiento del código proviene de tener la inicialización y otra lógica relacionada en un constructor principal y realizar una llamada cruzada a este constructor desde otros constructores sobrecargados.

  • Debido a que un constructor no puede devolver un valor al código de llamada, es una buena práctica lanzar una excepción cuando se encuentra una falla.

El encadenamiento de constructores se produce siempre que un hijo amplía una clase base. Por lo tanto, la clase principal se invoca primero cada vez que se crea un objeto de esa clase secundaria.