Зміст:
Визначення - Що означає Destructor?
Деструктор - це спеціальний метод, який викликається автоматично під час знищення об'єкта. Дії, виконані в деструкторі, включають наступні:
- Відновлення простору купи, виділеного протягом життя об'єкта
- Закриття підключення файлів або бази даних
- Вивільнення мережевих ресурсів
- Звільнення блокування ресурсів
- Інші завдання по господарству
Техопедія пояснює Деструктора
Деструктори викликаються явно в C ++. Однак у C # та Java це не так, оскільки розподілення та звільнення пам'яті, виділеної для об'єктів, неявно обробляється сміттєзбірником. Незважаючи на те, що деструктори в C # і Java (називаються фіналізаторами) є недетермінованими, деструктори C # гарантовано викликаються часом роботи NET. Однак, фіналізатори Java повинні бути явно викликані, оскільки їх виклик не гарантовано.
Основні властивості деструкторів можна узагальнити так:
- Автоматичне виклик та відсутність явного виклику з коду користувача
- Перевантаження або успадкування заборонено
- Модифікатори та параметри доступу не повинні вказуватися
- Порядок виклику деструктора у похідному класі - від найбільш похідного до найменш отриманого
- Викликається не тільки під час знищення об'єкта, але й тоді, коли екземпляр об'єкта вже не має права доступу
- Використовується в класах, але не в конструкціях
- Використовується лише для випуску дорогих некерованих ресурсів (наприклад, Windows, підключення до мережі тощо), якими володіє об'єкт, а не для випуску керованих посилань
