Sobes.tech
Junior — Middle

Можете ли да обясните какво е деструктор в обектно-ориентираното програмиране?

sobes.tech AI

Отговор от AI

Деструкторът в обектно-ориентираното програмиране е специален метод на класа, който се извиква автоматично при изтриване на обекта или когато обектът излезе от обхвата си. Основната му задача е да освободи ресурсите, които обектът може да е придобил по време на живота си, като например затваряне на файлове, освобождаване на памет или мрежови връзки.

В C# деструкторът изглежда като метод с името на класа, но с тилда (~) пред него:

class MyClass
{
    ~MyClass()
    {
        // код за почистване на ресурсите
    }
}

Важно е да се помни, че деструкторите в C# работят в рамките на механизма за събиране на отпадъци и не гарантират моментално извикване, затова е по-добре да използвате интерфейса IDisposable и метода Dispose() за освобождаване на управляваните ресурси.