Návod: Vytvoření a implementace rozhraní (Visual Basic)
Rozhraní popisují vlastnosti, metody a události, ale nechejte podrobnosti implementace až do struktur nebo tříd.
Tento návod ukazuje, jak deklarovat a implementovat rozhraní.
Poznámka:
Tento názorný postup neposkytuje informace o tom, jak vytvořit uživatelské rozhraní.
Poznámka:
Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení integrovaného vývojového prostředí.
Definování rozhraní
Otevřete nový projekt aplikace pro Windows jazyka Visual Basic.
Kliknutím na Přidat modul v nabídce Projekt přidejte do projektu nový modul.
Pojmenujte nový modul
Module1.vb
a klikněte na Přidat. Zobrazí se kód nového modulu.Definujte rozhraní pojmenované
TestInterface
uvnitřModule1
zadánímInterface TestInterface
mezi příkazyModule
aEnd Module
stisknutím klávesy ENTER. Editor kódu odsadíInterface
klíčové slovo a přidá příkazEnd Interface
, který vytvoří blok kódu.Definujte vlastnost, metodu a událost rozhraní umístěním následujícího kódu mezi
Interface
příkazy aEnd Interface
příkazy:Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
Implementace
Můžete si všimnout, že syntaxe použitá k deklaraci členů rozhraní se liší od syntaxe použité k deklaraci členů třídy. Tento rozdíl odráží skutečnost, že rozhraní nemohou obsahovat kód implementace.
Implementace rozhraní
Přidejte třídu pojmenovanou
ImplementationClass
přidáním následujícího příkazu doModule1
příkazu , zaEnd Interface
příkaz, ale předEnd Module
příkaz a stisknutím klávesy ENTER:Class ImplementationClass
Pokud pracujete v integrovaném vývojovém prostředí, editor kódu při stisknutí klávesy ENTER poskytuje odpovídající
End Class
příkaz.Přidejte následující
Implements
příkaz ,ImplementationClass
který pojmenuje rozhraní, které třída implementuje:Implements TestInterface
Pokud jsou uvedeny odděleně od jiných položek v horní části třídy nebo struktury, příkaz označuje,
Implements
že třída nebo struktura implementuje rozhraní.Pokud pracujete v integrovaném vývojovém prostředí, Editor kódu implementuje členy třídy vyžadované
TestInterface
stisknutím klávesy ENTER a můžete přeskočit další krok.Pokud v integrovaném vývojovém prostředí nepracujete, musíte implementovat všechny členy rozhraní
MyInterface
. Přidejte následující kód proImplementationClass
implementaciEvent1
,Method1
aProp1
: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
Příkaz
Implements
pojmenuje implementovaný rozhraní a člen rozhraní.Dokončete definici
Prop1
přidáním soukromého pole do třídy, která uložila hodnotu vlastnosti:' Holds the value of the property. Private pval As Integer
Vrátí hodnotu z
pval
vlastnosti get accessor.Return pval
Nastavte hodnotu
pval
v přístupovém objektu sady vlastností.pval = value
Dokončete definici
Method1
přidáním následujícího kódu.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Testování implementace rozhraní
Klikněte pravým tlačítkem myši na spouštěcí formulář projektu v Průzkumník řešení a klikněte na Zobrazit kód. Editor zobrazí třídu pro spouštěcí formulář. Ve výchozím nastavení je volána
Form1
spouštěcí formulář .Do třídy přidejte následující
testInstance
poleForm1
:Dim WithEvents testInstance As TestInterface
Deklarováním
testInstance
jakoWithEvents
Form1
může třída zpracovávat své události.Přidejte do třídy následující obslužnou rutinu
Form1
události, která zpracovává události vyvolanétestInstance
:Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Přidejte do
Form1
třídy podprogram pojmenovanýTest
pro otestování třídy implementace: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
vytvoří instanci třídy, která implementujeMyInterface
, přiřadí tuto instanci ktestInstance
poli, nastaví vlastnost a spustí metodu prostřednictvím rozhraní.Přidejte kód pro volání
Test
procedury zForm1 Load
procedury spouštěcího formuláře:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Test() ' Test the class. End Sub
Spusťte proceduru
Test
stisknutím klávesy F5. Zobrazí se zpráva "Prop1 byla nastavena na 9". Po kliknutí na tlačítko OK se zobrazí zpráva "X parametr pro Metod1 je 5". Klikněte na OK a zobrazí se zpráva "Obslužná rutina události zachytila událost".