Wskazówki: tworzenie i wdrażanie interfejsów (Visual Basic)

Interfejsy opisują charakterystykę właściwości, metod i zdarzeń, ale pozostawiają szczegóły implementacji do struktur lub klas.

W tym przewodniku przedstawiono sposób deklarowania i implementowania interfejsu.

Uwaga

Ten przewodnik nie zawiera informacji o sposobie tworzenia interfejsu użytkownika.

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ć interfejs

  1. Otwórz nowy projekt aplikacji systemu Windows w języku Visual Basic.

  2. Dodaj nowy moduł do projektu, klikając polecenie Dodaj moduł w menu Projekt .

  3. Nazwij nowy moduł Module1.vb i kliknij przycisk Dodaj. Zostanie wyświetlony kod nowego modułu.

  4. Zdefiniuj interfejs o nazwie TestInterface w ramach Module1 , wpisując Interface TestInterface między instrukcjami Module i End Module , a następnie naciskając klawisz ENTER. Edytor kodu wcięcie słowa kluczowego Interface i dodaje instrukcję End Interface w celu utworzenia bloku kodu.

  5. Zdefiniuj właściwość, metodę i zdarzenie dla interfejsu, umieszczając następujący kod między instrukcjami Interface i End Interface :

    Property Prop1() As Integer
    Sub Method1(ByVal X As Integer)
    Event Event1()
    

Implementacja

Można zauważyć, że składnia używana do deklarowania składowych interfejsu różni się od składni używanej do deklarowania składowych klas. Ta różnica odzwierciedla fakt, że interfejsy nie mogą zawierać kodu implementacji.

Aby zaimplementować interfejs

  1. Dodaj klasę o nazwie ImplementationClass , dodając następującą instrukcję do Module1instrukcji , End Interface ale przed instrukcją End Module , a następnie naciskając klawisz ENTER:

    Class ImplementationClass
    

    Jeśli pracujesz w zintegrowanym środowisku projektowym, edytor kodu dostarcza zgodną End Class instrukcję po naciśnięciu klawisza ENTER.

  2. Dodaj następującą Implements instrukcję do ImplementationClassklasy , która nazywa interfejs implementuje klasę:

    Implements TestInterface
    

    Po wyświetleniu oddzielnie od innych elementów w górnej części klasy lub struktury instrukcja wskazuje, Implements że klasa lub struktura implementuje interfejs.

    Jeśli pracujesz w zintegrowanym środowisku projektowym, Edytor kodu implementuje składowe klasy wymagane TestInterface przez naciśnięcie klawisza ENTER i możesz pominąć następny krok.

  3. Jeśli nie pracujesz w zintegrowanym środowisku projektowym, musisz zaimplementować wszystkie elementy członkowskie interfejsu MyInterface. Dodaj następujący kod, aby ImplementationClass zaimplementować Event1element , Method1i Prop1:

    Event Event1() Implements TestInterface.Event1
    
    Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1
    End Sub
    
    Public Property Prop1() As Integer Implements TestInterface.Prop1
        Get
        End Get
        Set(ByVal value As Integer)
        End Set
    End Property
    

    Instrukcja Implements nazywa implementowany interfejs i element członkowski interfejsu.

  4. Wypełnij definicję Prop1 , dodając pole prywatne do klasy, która przechowywała wartość właściwości:

    ' Holds the value of the property.
    Private pval As Integer
    

    Zwróć wartość pval właściwości get accessor.

    Return pval
    

    Ustaw wartość pval w metodzie dostępu zestawu właściwości.

    pval = value
    
  5. Ukończ definicję, Method1 dodając następujący kod.

    MsgBox("The X parameter for Method1 is " & X)
    RaiseEvent Event1()
    

Aby przetestować implementację interfejsu

  1. Kliknij prawym przyciskiem myszy formularz startowy projektu w Eksplorator rozwiązań, a następnie kliknij pozycję Wyświetl kod. W edytorze zostanie wyświetlona klasa formularza uruchamiania. Domyślnie formularz uruchamiania nosi nazwę Form1.

  2. Dodaj następujące testInstance pole do Form1 klasy:

    Dim WithEvents testInstance As TestInterface
    

    Deklarując testInstance jako WithEvents, Form1 klasa może obsługiwać swoje zdarzenia.

  3. Dodaj następującą procedurę Form1 obsługi zdarzeń do klasy w celu obsługi zdarzeń zgłaszanych przez testInstanceprogram :

    Sub EventHandler() Handles testInstance.Event1
        MsgBox("The event handler caught the event.")
    End Sub
    
  4. Dodaj podroutynę o nazwie Test do Form1 klasy, aby przetestować klasę implementacji:

    Sub Test()
        '  Create an instance of the class.
        Dim T As New ImplementationClass
        ' Assign the class instance to the interface.
        ' Calls to the interface members are 
        ' executed through the class instance.
        testInstance = T
        ' Set a property.
        testInstance.Prop1 = 9
        ' Read the property.
        MsgBox("Prop1 was set to " & testInstance.Prop1)
        '  Test the method and raise an event.
        testInstance.Method1(5)
    End Sub
    

    Procedura Test tworzy wystąpienie klasy, która implementuje MyInterface, przypisuje to wystąpienie do testInstance pola, ustawia właściwość i uruchamia metodę za pośrednictwem interfejsu.

  5. Dodaj kod, aby wywołać procedurę Test z Form1 Load procedury formularza uruchamiania:

    Private Sub Form1_Load(ByVal sender As System.Object,
                           ByVal e As System.EventArgs) Handles MyBase.Load
        Test() ' Test the class.
    End Sub
    
  6. Uruchom procedurę Test , naciskając klawisz F5. Zostanie wyświetlony komunikat "Prop1 został ustawiony na 9". Po kliknięciu przycisku OK zostanie wyświetlony komunikat "X parametr metody 1 to 5". Kliknij przycisk OK, a zostanie wyświetlony komunikat "Program obsługi zdarzeń przechwycony zdarzenie".

Zobacz też