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
Otwórz nowy Visual Basic projekt aplikacji systemu Windows.
Dodaj nowy moduł do projektu, klikając Dodać moduł na Projekt menu.
Nazwa nowego modułu Module1.vb i kliknij przycisk Dodaj.Wyświetlany jest kod nowy moduł.
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.
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
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.
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.
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.
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
Zakończenie definicji Method1 przez dodanie następującego kodu.
MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Aby przetestować implementację interfejsu
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.
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ń.
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
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.
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
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
Interface — Instrukcja (Visual Basic)