progs.biz  
Начало>VB.NET>Основы>Урок 9
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Заказать на Озоне



Яндекс-цитирования

Основы 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).

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев