Основы VB.NET Урок 9. Есть ли в VB.NET деструкторы?
Если вы программировали раньше на C-подобных языках, то у вас неминуемо должен возникнуть вопрос про деструкторы: "А как обстоит дело с ними в VB.NET?" Так вот, в VB.NET в использовании деструкторов необходимости нет. Этим занимается сама среда CLR. Именно на нее и возложена ответственность за своевременное уничтожение объектов (так называемая "Сборка мусора"). Правда, вы не можете быть уверены, что объект уничтожится сразу. Но все равно об этом заботится программисту, как правило, не надо.
Но если очень хочется, то можно вызвать деструктор явно. Вот пример (развитие нашего класса, сделанного на двух прошлых уроках):
Class Dice
...
'Деструктор
Protected Overrides Sub Finalize()
Console.WriteLine("Объект уничтожен")
End Sub
End Class
Деструктор всегда называется Finalize. Пока не обращайте внимания на слова перед ним (Protected и Overrides) - их назначение будет ясно на последующих уроках. Как вы видите, в деструкторе просто выводится на экран надпись "Объект уничтожен". Наш деструктор вызовется сам в момент уничтожения объекта, так что в тестовом классе ничего менять не надо. Теперь, если вы запустите нашу программу, то появится и надпись "Объект уничтожен" (их будет несколько, если вы создали несколько экземпляров класса Dice).
|