Índice:
Definição - O que significa Destructor?
Um destruidor é um método especial chamado automaticamente durante a destruição de um objeto. As ações executadas no destruidor incluem o seguinte:
- Recuperando o espaço de heap alocado durante a vida útil de um objeto
- Fechando conexões de arquivo ou banco de dados
- Liberando recursos de rede
- Liberando bloqueios de recursos
- Outras tarefas de limpeza
Techopedia explica Destructor
Destrutores são chamados explicitamente em C ++. No entanto, em C # e Java, esse não é o caso, pois a alocação e liberação de memória alocada aos objetos são tratadas implicitamente pelo coletor de lixo. Embora os destruidores em C # e Java (chamados finalizadores) não sejam determinísticos, os destruidores de C # têm a garantia de serem chamados pelo tempo de execução do .NET. No entanto, os finalizadores Java precisam ser explicitamente chamados, pois sua chamada não é garantida.
As principais propriedades dos destruidores podem ser resumidas da seguinte forma:
- Chamada automática e nenhuma chamada explícita do código do usuário
- Sobrecarga ou herança não permitida
- Modificadores de acesso ou parâmetros não especificados
- A ordem de chamada ao destruidor em uma classe derivada é da mais derivada à menos derivada
- Chamado não apenas durante a destruição do objeto, mas também quando a instância do objeto não é mais elegível para acesso
- Usado em classes, mas não em estruturas
- Usado apenas para liberar recursos não gerenciados caros (como janelas, conexão de rede etc.) que o objeto mantém, em vez de liberar referências gerenciadas