Constructores de una clase
|
Cuando
se construye un objeto es necesario inicializar sus variables con valores
coherentes, imaginemos un objeto de la clase llamada Persona cuyo atributo color de pelo al nacer sea verde, un estado
incorrecto tras construir el objeto persona. La solución en los lenguajes
orientados a objetos es emplear los constructores. Un constructor es un
método perteneciente a la clase que posee unas características especiales:
-
Se
llama igual que la clase.
-
No
devuelve nada, ni siquiera void
-
Pueden
existir varios, pero siguiendo las reglas de la sobrecarga de funciones
-
De
entre los que existan, tan sólo uno se ejecutará al crear un objeto de la
clase
|
Para definir los constructores se
emplea la siguiente sintaxis:
[modifVisibilidad] nombreConstructor
(listaParámetros) [throws listaExcepciones]
{
}
Para modifVisibilidad se aplica las
mismas normas que para atributos y métodos:
-
public: indica que es un método
accesible a través de una instancia del objeto.
-
private: indica que a través de una
instancia no es accesible el método. Al heredar el método se convierte en
inaccesible.
-
protected: indica que a través de una
instancia no es accesible el método. Al heredar si se puede usar desde la clase
derivada.
Ejemplo
Destructor:
Es un método de una clase que se llama
justo antes de una instancia de esa clase y se elimina de la memoria. No todos
los lenguajes de programación orientados a objetos suelen tener un destructor.
La contrapartida de un destructor es un constructor que se ejecuta cuando se crea el objeto, se instancia y se lo inicializa.
La contrapartida de un destructor es un constructor que se ejecuta cuando se crea el objeto, se instancia y se lo inicializa.
Una clase sólo tiene una función destructor
que, no tiene argumentos y no devuelve ningún tipo. Un destructor realiza la
operación opuesta de un constructor, limpiando el almacenamiento asignado a los
objetos cuando se crean. C++ permite sólo un destructor por clase.
Link
Link