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
Otwórz nowy projekt aplikacji systemu Windows w języku Visual Basic.
Dodaj nowy moduł do projektu, klikając polecenie Dodaj moduł w menu Projekt .
Nazwij nowy moduł
Module1.vb
i kliknij przycisk Dodaj. Zostanie wyświetlony kod nowego modułu.Zdefiniuj interfejs o nazwie
TestInterface
w ramachModule1
, wpisującInterface TestInterface
między instrukcjamiModule
iEnd Module
, a następnie naciskając klawisz ENTER. Edytor kodu wcięcie słowa kluczowegoInterface
i dodaje instrukcjęEnd Interface
w celu utworzenia bloku kodu.Zdefiniuj właściwość, metodę i zdarzenie dla interfejsu, umieszczając następujący kod między instrukcjami
Interface
iEnd 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
Dodaj klasę o nazwie
ImplementationClass
, dodając następującą instrukcję doModule1
instrukcji ,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.Dodaj następującą
Implements
instrukcję doImplementationClass
klasy , 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.Jeśli nie pracujesz w zintegrowanym środowisku projektowym, musisz zaimplementować wszystkie elementy członkowskie interfejsu
MyInterface
. Dodaj następujący kod, abyImplementationClass
zaimplementowaćEvent1
element ,Method1
iProp1
: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.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
Ukończ definicję,
Method1
dodając następujący kod.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Aby przetestować implementację interfejsu
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
.Dodaj następujące
testInstance
pole doForm1
klasy:Dim WithEvents testInstance As TestInterface
Deklarując
testInstance
jakoWithEvents
,Form1
klasa może obsługiwać swoje zdarzenia.Dodaj następującą procedurę
Form1
obsługi zdarzeń do klasy w celu obsługi zdarzeń zgłaszanych przeztestInstance
program :Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Dodaj podroutynę o nazwie
Test
doForm1
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 implementujeMyInterface
, przypisuje to wystąpienie dotestInstance
pola, ustawia właściwość i uruchamia metodę za pośrednictwem interfejsu.Dodaj kod, aby wywołać procedurę
Test
zForm1 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
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".