Udostępnij za pośrednictwem


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

Interfejsy opisują cechy właściwości, metod i zdarzeń, ale pozostawić szczegóły implementacji do struktury lub klasy.

W tym instruktażu przedstawiono sposób zadeklarować i implementować interfejs.

[!UWAGA]

W tym instruktażu nie dostarcza informacji o tworzeniu 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 Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby zdefiniować interfejs

  1. Otwórz nowy Visual Basic projekt aplikacji systemu Windows.

  2. Dodaj nowy moduł do projektu, klikając Dodać moduł na Projekt menu.

  3. Nazwa nowego modułu Module1.vb i kliknij przycisk Dodaj.Wyświetlany jest kod nowy moduł.

  4. Definiowanie interfejsu o nazwie TestInterface w Module1 wpisując Interface TestInterface między Module i End Module sprawozdania, a następnie naciskając klawisz ENTER.Edytor kodu tiret Interface słowa kluczowego i dodaje End Interface instrukcji do bloku kodu.

  5. Definiowanie właściwości, metody i zdarzenia dla interfejsu umieszczając następujący kod między Interface i End Interface instrukcji:

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

Wdrożenie

Można zauważyć, że składnia używana zadeklarować członków interfejsu różni się od składni używanej zadeklarować członków klasy.Różnica ta odzwierciedla fakt, że interfejsy nie mogą zawierać kod implementacji.

Aby zaimplementować interfejsu

  1. Dodać klasę o nazwie ImplementationClass , dodając następującą instrukcję, aby Module1, po End Interface instrukcji lecz przed End Module instrukcji, a następnie naciskając klawisz ENTER:

    Class ImplementationClass
    

    Jeśli pracujesz w środowisku zintegrowanego rozwoju Edytor kodu dostarcza pasującego End Class instrukcji po naciśnięciu klawisza ENTER.

  2. Dodaj następujące Implements instrukcji do ImplementationClass, którego nazwy interfejsu klasy implementuje:

    Implements TestInterface
    

    Gdy wymienione oddzielnie od innych elementów na początku klasy lub struktury, Implements deklaracja wskazuje, że klasy lub struktury implementuje interfejs.

    Jeśli pracujesz w środowisku zintegrowanego rozwoju Edytor kodu implementuje elementy klas, wymagane przez TestInterface po naciśnięciu klawisza ENTER i można pominąć krok dalej.

  3. Jeśli nie pracujesz w ramach zintegrowanego środowiska, musi implementować członków interfejsu MyInterface.Dodaj następujący kod do ImplementationClass do wprowadzenia w życie Event1, Method1, i 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
    

    Implements Oświadczenie nazwy interfejsu i wdrażany członka interfejsu.

  4. Zakończenie definicji Prop1 , dodając pole private do klasy, która przechowywana wartość właściwości:

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

    Zwraca wartość pval z właściwości get akcesor.

    Return pval
    

    Ustawiona wartość pval akcesor zestawu właściwości.

    pval = value
    
  5. Zakończenie definicji Method1 przez dodanie następującego kodu.

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

Aby przetestować implementację interfejsu

  1. Kliknij prawym przyciskiem myszy formularz startowy dla projektu w Solution Exploreri kliknij przycisk Widok Kod.Edytor wyświetla klasy formularza Autostart.Domyślnie nazywa się formularz startowy Form1.

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

    Dim WithEvents testInstance As TestInterface
    

    Oświadczając, testInstance jako WithEvents, Form1 klasy może obsłużyć jego zdarzeń.

  3. Dodaj następującą procedurę obsługi zdarzenia, aby Form1 klasy obsługi zdarzeń wywoływanych przez testInstance:

    Sub EventHandler() Handles testInstance.Event1
        MsgBox("The event handler caught the event.")
    End Sub
    
  4. Dodajemy podprocedurę o nazwie Test do Form1 klasy do testowania klasy 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
    

    Test Procedura tworzy instancję klasy, który implementuje MyInterface, przypisuje temu wystąpieniu testInstance ustawia właściwość pola i uruchamia metodę, za pośrednictwem interfejsu.

  5. Dodawanie kodu do wywołania Test procedurę z Form1 Load procedurę uruchamiania formularza:

    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 Test procedury, naciskając klawisz F5.Wyświetlany jest komunikat "właściwość1 ustawiono na 9".Jest wyświetlane po kliknięciu przycisku OK, wiadomość "5 jest parametrem X Method1".Kliknij przycisk OK i jest wyświetlany komunikat "zdarzenie złowionych obsługi zdarzeń".

Zobacz też

Informacje

Implements — Instrukcja

Interface — Instrukcja (Visual Basic)

Event — Instrukcja

Inne zasoby

Interfejsy (Visual Studio)