¿Por qué deberíamos hacer que el constructor sea privado en clase? Como siempre necesitamos que el constructor sea público.
Respuestas:23 Respuestas 23
Tiempo:hace 12 años, 8 meses
Última modificación:hace 1 año, 3 meses
Solución
Algunas razones por las que puede necesitar un constructor privado:
- Solo se puede acceder al constructor desde el método de fábrica estático dentro de la propia clase. Singleton también puede pertenecer a esta categoría.
- Una clase de utilidad, que sólo contiene métodos estáticos.
Otras respuestas
Dejar una «puerta trasera» que permita a otra clase/función amiga construir un objeto de una manera prohibida para el usuario. Un ejemplo que viene a la mente sería un contenedor que construye un iterador (C++):
Iterator Container::begin() { return Iterator(this->beginPtr_); }
// Iterator(pointer_type p) constructor is private,
// and Container is a friend of Iterator.