Wskazówki: definiowanie klas (Visual Basic)

W tym przewodniku pokazano, jak zdefiniować klasy, których następnie można użyć do tworzenia obiektów. Przedstawiono w nim również sposób dodawania właściwości i metod do nowej klasy oraz pokazano, jak zainicjować obiekt.

Uwaga

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Aby zdefiniować klasę

  1. Utwórz projekt, klikając pozycję Nowy projekt w menu Plik . Zostanie wyświetlone okno dialogowe Nowy projekt.

  2. Wybierz pozycję Aplikacja systemu Windows z listy szablonów projektów Visual Basic, aby wyświetlić nowy projekt.

  3. Dodaj nową klasę do projektu, klikając pozycję Dodaj klasę w menu Projekt . Zostanie wyświetlone okno dialogowe Dodawanie nowego elementu.

  4. Wybierz szablon Klasa.

  5. Nadaj nowej klasie UserNameInfo.vbnazwę , a następnie kliknij przycisk Dodaj , aby wyświetlić kod nowej klasy.

    Public Class UserNameInfo
    End Class
    

    Uwaga

    Możesz użyć edytora Visual Basic Code, aby dodać klasę do formularza uruchamiania, wpisując Class słowo kluczowe, a następnie nazwę nowej klasy. Edytor kodu udostępnia odpowiednią End Class instrukcję.

  6. Zdefiniuj pole prywatne dla klasy, dodając następujący kod między instrukcjami Class i End Class :

    Private userNameValue As String
    

    Deklarowanie pola jako oznacza, że Private może być używane tylko w klasie. Pola dostępne spoza klasy można udostępniać przy użyciu modyfikatorów dostępu, takich jak Public zapewnia większy dostęp. Aby uzyskać więcej informacji, zobacz Poziomy dostępu w Visual Basic.

  7. Zdefiniuj właściwość dla klasy, dodając następujący kod:

    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. Zdefiniuj metodę dla klasy, dodając następujący kod:

    Public Sub Capitalize()
        ' Capitalize the value of the property.
        userNameValue = UCase(userNameValue)
    End Sub
    
  9. Zdefiniuj konstruktor sparametryzowany dla nowej klasy, dodając procedurę o nazwie Sub New:

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

    Konstruktor Sub New jest wywoływany automatycznie po utworzeniu obiektu na podstawie tej klasy. Ten konstruktor ustawia wartość pola, które zawiera nazwę użytkownika.

Aby utworzyć przycisk do testowania klasy

  1. Zmień formularz uruchamiania na tryb projektowania, klikając prawym przyciskiem myszy jego nazwę w Eksplorator rozwiązań, a następnie klikając polecenie Wyświetl Projektant. Domyślnie formularz startowy dla projektów aplikacji systemu Windows ma nazwę Form1.vb. Zostanie wyświetlony formularz główny.

  2. Dodaj przycisk do formularza głównego i kliknij go dwukrotnie, aby wyświetlić kod programu obsługi zdarzeń Button1_Click . Dodaj następujący kod, aby wywołać procedurę testowania:

    ' 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)
    

Aby uruchomić aplikację

  1. Uruchom aplikację, naciskając klawisz F5. Kliknij przycisk w formularzu, aby wywołać procedurę testowania. Zostanie wyświetlony komunikat z informacją, że oryginał UserName to "MOORE, BOBBY", ponieważ procedura nazywana Capitalize metodą obiektu.

  2. Kliknij przycisk OK , aby odrzucić okno komunikatu. Procedura Button1 Click zmienia wartość UserName właściwości i wyświetla komunikat z informacją, że nowa wartość UserName to "Worden, Joe".

Zobacz też