Пошаговое руководство. Определение классов (Visual Basic)

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

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Определение класса

  1. Создайте проект, нажав кнопку "Создать проект " в меню "Файл ". Откроется диалоговое окно Создание проекта .

  2. Выберите приложение Windows из списка шаблонов проектов Visual Basic, чтобы отобразить новый проект.

  3. Добавьте новый класс в проект, нажав кнопку "Добавить класс " в меню "Проект ". Откроется диалоговое окно Добавление нового элемента.

  4. Выберите шаблон класса.

  5. Присвойте новому классу UserNameInfo.vbимя и нажмите кнопку "Добавить ", чтобы отобразить код для нового класса.

    Public Class UserNameInfo
    End Class
    

    Примечание.

    Редактор Кода Visual Basic можно использовать для добавления класса в форму запуска, введя Class ключевое слово за именем нового класса. Редактор кода предоставляет соответствующую End Class инструкцию.

  6. Определите частное поле для класса, добавив следующий код между Class операторами и End Class операторами:

    Private userNameValue As String
    

    Объявление поля как Private означает, что оно может использоваться только в классе. Поля можно сделать доступными извне класса с помощью модификаторов доступа, таких как Public предоставление большего доступа. Дополнительные сведения см. в разделе "Уровни доступа" в Visual Basic.

  7. Определите свойство для класса, добавив следующий код:

    Public Property UserName() As String
        Get
            ' Gets the property value.
            Return userNameValue
        End Get
        Set(ByVal Value As String)
            ' Sets the property value.
            userNameValue = Value
        End Set
    End Property
    
  8. Определите метод для класса, добавив следующий код:

    Public Sub Capitalize()
        ' Capitalize the value of the property.
        userNameValue = UCase(userNameValue)
    End Sub
    
  9. Определите параметризованный конструктор для нового класса, добавив процедуру с именем Sub New:

    Public Sub New(ByVal UserName As String)
        ' Set the property value.
        Me.UserName = UserName
    End Sub
    

    Конструктор Sub New вызывается автоматически при создании объекта на основе этого класса. Этот конструктор задает значение поля, в котором содержится имя пользователя.

Создание кнопки для тестирования класса

  1. Измените форму запуска на режим конструктора, щелкнув правой кнопкой мыши его имя в Обозреватель решений и выбрав конструктор представлений. По умолчанию форма запуска для проектов приложений Windows называется Form1.vb. Затем появится основная форма.

  2. Добавьте кнопку в основную форму и дважды щелкните ее, чтобы отобразить код обработчика Button1_Click событий. Добавьте следующий код для вызова процедуры тестирования:

    ' Create an instance of the class.
    Dim user As New UserNameInfo("Moore, Bobby")
    ' Capitalize the value of the property.
    user.Capitalize()
    ' Display the value of the property.
    MsgBox("The original UserName is: " & user.UserName)
    ' Change the value of the property.
    user.UserName = "Worden, Joe"
    ' Redisplay the value of the property.
    MsgBox("The new UserName is: " & user.UserName)
    

Запуск приложения

  1. Запустите приложение, нажав клавишу F5. Нажмите кнопку в форме, чтобы вызвать процедуру тестирования. В нем отображается сообщение о том, что исходный UserName — MOORE, BOBBY, так как процедура называется Capitalize методом объекта.

  2. Нажмите кнопку ОК, чтобы закрыть окно сообщения. Процедура Button1 Click изменяет значение UserName свойства и отображает сообщение о том, что новое значение UserName — Worden, Joe.

См. также