Отправляет email-рассылки с помощью сервиса Sendsay

Visual Basic.NET. Уроки

  Все выпуски  

Visual Basic.NET. Уроки


Информационный Канал Subscribe.Ru

Основы VB.NET. Уроки с сайта http://progs.biz

Рассылка №13

Основы VB.NET. Урок 8. Вызов одних конструкторов из других.
Основы VB.NET. Урок 9. Есть ли в VB.NET деструкторы?

Полные версии уроков (с картинками) можно найти по адресам
Урок 8. Вызов одних конструкторов из других.
Урок 9. Есть ли в VB.NET деструкторы?

Основы VB.NET. Урок 8. Вызов одних конструкторов из других

Конструкторы можно вызывать из других конструкторов этого же класса. Отметим сразу, что вызыватьтаким явным образом конструктор можно только из конструкторов же. Из других методов класса конструктор (как метод класса) вызывать нельзя. Вот так, например, можно переделать наш пример из прошлого урока с игральным кубиком:

Class Dice
    ...
    'Конструктор без параметров
    Public Sub New()
        MyClass.New(6) 'Вызываем конструктор с параметром
    End Sub
    'Конструктор с параметром
    Public Sub New(ByVal n As Integer)
        MyClass.n = n
    End Sub
End Class

Если у вас некоторый конструктор вызывает другой конструктор, то такой вызов должен идти первым (т. е. перед ним не должно быть других операторов).

Наверх

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

Наверх

Рассылки сайта progs.biz:

Рассылки Subscribe.Ru
Обзор книг по программированию

Обзор новых книг по программированию. Включает книги как по традиционному программированию (Visual C++, Delphi, Visual Basic, C#, Java,...), так и по WEB-программированию (JavaScript, PHP, ASP, ASP.NET, Perl,...). Кроме того, предполагается обзор книг по компьютерным сетям, безопасности, сертификации и др.


Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное