Destruidor

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