Оглавление:
Определение - Что означает Деструктор?
Деструктор - это специальный метод, который вызывается автоматически при уничтожении объекта. Действия, выполняемые в деструкторе, включают в себя следующее:
- Восстановление пространства кучи, выделенного во время жизни объекта
- Закрытие соединения с файлом или базой данных
- Освобождение сетевых ресурсов
- Освобождение ресурсных блокировок
- Другие домашние дела
Техопедия объясняет деструктор
Деструкторы вызываются явно в C ++. Однако в C # и Java это не так, поскольку выделение и освобождение памяти, выделенной объектам, неявно обрабатываются сборщиком мусора. В то время как деструкторы в C # и Java (называемые финализаторами) являются недетерминированными, деструкторы C # гарантированно будут вызываться во время выполнения .NET. Однако финализаторы Java должны вызываться явно, поскольку их вызов не гарантирован.
Основные свойства деструкторов можно обобщить следующим образом:
- Автоматический вызов и отсутствие явного вызова из кода пользователя
- Перегрузка или наследование не допускаются
- Доступ к модификаторам или параметрам, не указанным
- Порядок вызова деструктора в производном классе от самого производного к наименее производному
- Вызывается не только во время уничтожения объекта, но и когда экземпляр объекта больше не имеет права доступа
- Используется в классах, но не в структурах
- Используется только для освобождения дорогих неуправляемых ресурсов (таких как окна, сетевое подключение и т. Д.), Которые содержит объект, а не для освобождения управляемых ссылок




