Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 / Notatka
Ten przewodnik nie zawiera informacji o sposobie tworzenia interfejsu użytkownika.
Uwaga / Notatka
Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w poniższych instrukcjach. Wersja programu Visual Studio i ustawienia, których używasz, określają te elementy. 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 ENTER. Edytor kodu wciętuje słowo kluczoweInterface
i dodaje instrukcjęEnd Interface
, aby utworzyć blok 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ę do instrukcjiModule1
, po instrukcjiEnd Interface
, ale przed instrukcjąEnd Module
, a następnie naciśnij ENTER.Class ImplementationClass
Jeśli pracujesz w zintegrowanym środowisku projektowym, edytor kodu dostarcza zgodną
End Class
instrukcję po naciśnięciu ENTER.Dodaj następującą
Implements
instrukcję doImplementationClass
, która nazywa interfejs, który implementuje klasa.Implements TestInterface
Gdy jest wymienione obok innych elementów na górze klasy lub struktury, instrukcja
Implements
wskazuje, ż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 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 doImplementationClass
, aby zaimplementowaćEvent1
,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 akcesorze 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 Eksploratorze 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ę obsługi zdarzeń do klasy
Form1
w celu obsługi zdarzeń zgłaszanych przeztestInstance
.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 F5. Zostanie wyświetlony komunikat "Prop1 został ustawiony na 9". Po kliknięciu OK pojawi się komunikat "Parametr X dla metody1 wynosi 5". Kliknij przycisk OK, a zostanie wyświetlony komunikat "Program obsługi zdarzeń przechwycił zdarzenie".