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

       

Создаем несколько объектов из одного класса


Создайте проект из формы, модуля и класса. На форму поместите кнопку. В окна кода введите такой текст:

Модуль:

Module Module1

    Public Объект1 As New Класс

    Public Объект2 As New Класс

End Module

Класс:

Public Class Класс

    Public C As Integer = 10

    Public Sub Процедура()

        Объект1.C = 101

        Объект2.C = 102

    End Sub



End Class

Форма:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Debug.WriteLine(Объект1.C)

        Debug.WriteLine(Объект2.C)

        Объект1.C = 1

        Объект2.C = 2

        Debug.WriteLine(Объект1.C)

        Debug.WriteLine(Объект2.C)

        Объект1.Процедура()

        Debug.WriteLine(Объект1.C)

        Debug.WriteLine(Объект2.C)

    End Sub

Запустите проект, нажмите кнопку, проект напечатает:

10

10

1

2

101

102

Мы видим, что модуль создает из класса Класс два объекта: Объект1 и Объект2. При создании они абсолютно одинаковы и размещаются рядышком в оперативной памяти, как два близнеца. Как выглядят они в оперативной памяти? Не нужно представлять себе, что каждый из них является копией программного текста из окна кода класса. Для нас важно знать, что в каждом объекте располагаются ячейки памяти под переменные, объявленные в классе. В нашем случае в каждом объекте располагается ячейка под переменную C.

В коде класса переменная C инициализируется значением 10, а это значит, что она станет такой в обоих объектах, что и подтверждают результаты выполнения первых двух строк процедуры Button1_Click.

После выполнения следующих двух строк процедуры объекты перестают быть близнецами. Теперь в ячейке C у первого объекта единица, а у второго – двойка, что и подтверждается печатью.

Объект может и сам изменять значения переменных как в себе, так и в своем братце. Убедитесь в этом, просмотрев процедуру в классе. Таким образом, родившись с одинаковой анатомией и характером, близнецы в процессе жизни могут менять прическу, а характер проявлять по-разному.



Содержание раздела