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:
- Recuperar 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
Definirtec explica Destructor
Os destruidores são chamados explicitamente em C ++. No entanto, em C # e Java, esse não é o caso, já que a alocação e a liberação de memória alocada para objetos são manipuladas implicitamente pelo coletor de lixo. Enquanto os destruidores em C # e Java (chamados de finalizadores) não são determinísticos, os destruidores em C # têm garantia de serem chamados pelo tempo de execução do .NET. No entanto, os finalizadores de Java devem ser chamados explicitamente, pois sua chamada não é garantida.
As principais propriedades dos destruidores podem ser resumidas da seguinte forma:
- Invocação 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 devem ser especificados
- A ordem de chamada ao destruidor em uma classe derivada é da mais derivada para a 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 structs
- Usado apenas para liberar recursos não gerenciados caros (como janelas, conexão de rede, etc.) que o objeto contém, em vez de liberar referências gerenciadas