Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní popisují vlastnosti, metody a události, ale ponechávají podrobnosti implementace na struktury nebo třídy.
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:
Počítač může v následujících pokynech zobrazit různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Edice sady Visual Studio, kterou máte, a nastavení, která používáte, určují tyto prvky. Další informace najdete v tématu Přizpůsobeníintegrovaného vývojového prostředí (IDE).
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, za příkazEnd Interface
, ale před příkazEnd Module
, 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 doImplementationClass
, který určuje rozhraní, jež 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 doImplementationClass
pro 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í
V Průzkumníku řešení klikněte pravým tlačítkem myši na spouštěcí formulář projektu a klikněte na Zobrazit kód. Editor zobrazí třídu pro spouštěcí formulář. Ve výchozím nastavení se spouštěcí formulář nazývá
Form1
.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
Test
třídy podprogram pojmenovanýForm1
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 „Obsluha události zachytila událost“.