Definición - ¿Qué significa Destructor?
Un destructor es un método especial llamado automáticamente durante la destrucción de un objeto. Las acciones ejecutadas en el destructor incluyen lo siguiente:
- Recuperar el espacio de pila asignado durante la vida útil de un objeto
- Cerrar conexiones de archivos o bases de datos
- Liberar recursos de red
- Liberar bloqueos de recursos
- Otras tareas de limpieza
Techinfo explica Destructor
Los destructores se llaman explícitamente en C ++. Sin embargo, en C # y Java este no es el caso, ya que el recolector de basura maneja implícitamente la asignación y liberación de memoria asignada a los objetos. Mientras que los destructores en C # y Java (llamados finalizadores) no son deterministas, se garantiza que los destructores de C # serán llamados por el tiempo de ejecución de .NET. Sin embargo, los finalizadores de Java deben invocarse explícitamente, ya que su invocación no está garantizada.
Las propiedades clave de los destructores se pueden resumir de la siguiente manera:
- Invocación automática y sin llamada explícita desde el código de usuario
- No se permite la sobrecarga ni la herencia
- Modificadores de acceso o parámetros no especificados
- El orden de llamada al destructor en una clase derivada es del más derivado al menos derivado
- Llamado no solo durante la destrucción del objeto, sino también cuando la instancia del objeto ya no es elegible para el acceso
- Se usa en clases pero no en estructuras
- Se usa solo para liberar recursos costosos no administrados (como ventanas, conexión de red, etc.) que contiene el objeto, en lugar de liberar referencias administradas