¿Qué es un constructor predeterminado?

Un constructor predeterminado es un método especializado que crea e inicializa un objeto en la programación orientada a objetos. Hay múltiples tipos de constructores, pero un constructor predeterminado debe cumplir con uno de los dos criterios específicos, además de crear e inicializar un objeto. No debe tener parámetros, en cuyo caso también podría llamarse un constructor nular, o debe asignar valores predeterminados a todos los parámetros que tiene la capacidad de establecer. Algunos lenguajes de computadora especifican implícitamente un constructor anular predeterminado si el programador no especifica un constructor en absoluto. Una vez que se escribe cualquier tipo de constructor, el constructor anular predeterminado ya no se especifica, y debe escribirse explícitamente si es necesario.

Para lenguajes de computadora que permiten la herencia orientada a objetos, los constructores predeterminados en subclases deben conectarse con precisión a los constructores en superclase. Los constructores de subclase siempre deben llamar a constructores de superclase antes de hacer algo específico para la subclase. In Algunos idiomas, como Java®, un constructor de subclase implícitamente llama a un constructor nular predeterminado de superclase. Si no existe un constructor nularario predeterminado de superclase, el objeto de subclase no se puede construir correctamente. Las subclases aún pueden tener cualquier tipo de constructor predeterminado en este caso, pero un constructor de superclase disponible debe llamarse correctamente, tal vez pasando los valores predeterminados exclusivos de la subclase.

La generación implícita de un constructor nularmente predeterminado tiene la ventaja de reducir el número de métodos que un programador debe especificar y documentar, pero también tiene la desventaja de posiblemente hacer que el mantenimiento y comprensión del código sea más difícil. Algunos programadores consideran que la omisión de un constructor predeterminado es una mala práctica, mientras que otros no. No hay nada que evite que un programador individual se adhiera a ninguno de estos métodos de programación, por lo que incluye un DEFEl constructor nular de AULT en código es en gran medida una elección estilística por parte del programador. Si se incluye el constructor, la mayoría de las escuelas de pensamiento dictan que debe comentarse y documentarse como lo sería cualquier otro constructor o método.

Cualquier constructor predeterminado puede tener modificadores de acceso adjuntos, haciendo que el constructor sea público, protegido o privado. Esto proporciona al constructor habilidades específicas basadas en la clase en la que se especifica. Se puede utilizar un constructor predeterminado público para crear un nuevo objeto a partir de otra clase, mientras que un constructor protegido solo puede llamarse desde su propia clase y cualquier subclases. Los constructores predeterminados protegidos se ven a menudo en una jerarquía de herencia. Los constructores privados generalmente se emplean solo en clases autónomas, donde hay algún tipo de método de fábrica disponible para llamarlo, en lugar del programador.

OTROS IDIOMAS