ПОНЯТНО О Visual Basic NET (том 3)


Конструкторы


Смысл конструктора. Вы знаете, что если у вас в окне кода формы присутствует процедура Form1_Load, то она выполняется автоматически при загрузке формы. Аналогичная процедура может присутствовать и в коде класса. Ее имя New – и называется она конструктором. Она выполняется автоматически при создании объекта.

О конструкторах мы с вами говорили в 6.1.2 и 12.2.1, когда при помощи слова New создавали объекты из готовых классов, предоставленных нам библиотекой классов .NET Framework. Нынче мы создаем при помощи слова New объекты уже из собственных классов. Обратите внимание, что до сих пор нигде в коде классов мы не писали процедуры New, тем не менее объекты прекрасно создавались. Для чего же тогда нужен конструктор New? Для того же, для чего и процедура Form1_Load (ведь форма загружалась и при отсутствии этой процедуры) – а именно, чтобы произвести некоторые действия, которые программист считает нужным произвести в момент создания объекта из класса. Обычно это присвоение начальных значений переменным, открытие нужных файлов и т.п.

Пример конструктора. Давайте используем конструктор для присвоения в каждом объекте нужного значения полю Номер_участка. Сейчас оно у нас присваивается в модуле формы, что противоречит принципу инкапсуляции.

Уберем из кода формы строку

        Участки(k).Номер_участка = k

Вместо этого вот как дополним наш класс:

    Public Номер_участка As Integer

    Private Shared

Число_созданных_объектов As Integer = 0

 

    Public Sub New()

        Число_созданных_объектов = Число_созданных_объектов + 1

        Номер_участка = Число_созданных_объектов

    End Sub

Здесь при создании очередного участка мы увеличиваем на 1 статическую переменную класса Число_созданных_объектов. Поэтому к моменту создания очередного участка эта переменная автоматически приобретает нужное значение, которое оператором

        Номер_участка = Число_созданных_объектов

передается полю Номер_участка .

Конструктор с параметрами. Конструктор, как и всякая процедура, может иметь параметры. Обычно параметры используются для задания начальных значений переменным, полям и свойствам класса. Давайте зададим через параметры имя владельца, длину, ширину участка и высоту забора. Придумаем параметрам такие имена: Влад, Дл, Шир и Выс.




Начало  Назад  Вперед