- Back to Home »
- Constructores y destructores en clases derivadas.
Postado Por:
Alma Esqueda
sábado, 7 de noviembre de 2015
Constructores en clases derivadas:
Al instanciar objetos de clases derivadas se inicia una cadena de invocaciones
a constructores en las cuales el constructor de la clase derivada, antes de
realizar sus propias tareas, invoca (ya sea implícita o explícitamente) al
constructor de su clase base. Similarmente, si la clase base fue derivada de
otra clase, el constructor de la clase base debe invocar al constructor de la
clase ubicada en el siguiente nivel superior de la jerarquía, y así
sucesivamente. El último constructor invocado en la cadena es el constructor de
la clase Object, cuyo cuerpo se ejecuta primero. El cuerpo del constructor de
la clase derivada se ejecuta al final. El constructor de cada clase base
inicializa las variables de instancia que el objeto de la clase derivada
hereda.
Destructores en clases derivadas:
Cuando remueve de la memoria un objeto de una clase derivada, el recolector de
basura invoca al destructor del objeto. Esto inicia una cadena de invocaciones
a destructores, en donde el destructor de la clase derivada y los destructores
de las clases bases directas e indirectas se ejecutan en orden inverso al que
se ejecutaron los constructores, esto es, primero se ejecuta el destructor de
la clase derivada y al final se ejecuta el destructor de la clase base ubicada
en el nivel superior de la jerarquía. La ejecución de los destructores debe liberar
todos los recursos que el objeto adquirió, antes de que el recolector de basura
reclame la memoria de ese objeto. Cuando el recolector de basura invoca al
destructor de un objeto de una clase derivada, ese destructor realiza su tarea
y después invoca al destructor de la clase base.