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.vba klikněte na Přidat. Zobrazí se kód nového modulu.Definujte rozhraní pojmenované
TestInterfaceuvnitřModule1zadánímInterface TestInterfacemezi příkazyModuleaEnd Modulestisknutím klávesy ENTER. Editor kódu odsadíInterfaceklíč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
Interfacepříkazy aEnd Interfacepří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
ImplementationClasspřidáním následujícího příkazu doModule1příkazu, za příkazEnd Interface, ale před příkazEnd Module, a stisknutím klávesy ENTER.Class ImplementationClassPokud pracujete v integrovaném vývojovém prostředí, editor kódu při stisknutí klávesy ENTER poskytuje odpovídající
End Classpříkaz.Přidejte následující
Implementspříkaz doImplementationClass, který určuje rozhraní, jež třída implementuje.Implements TestInterfacePokud 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é
TestInterfacestisknutí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 doImplementationClasspro implementaciEvent1,Method1aProp1.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 PropertyPříkaz
Implementspojmenuje implementovaný rozhraní a člen rozhraní.Dokončete definici
Prop1přidáním soukromého pole do třídy, která uložila hodnotu vlastnosti:' Holds the value of the property. Private pval As IntegerVrátí hodnotu z
pvalvlastnosti get accessor.Return pvalNastavte hodnotu
pvalv přístupovém objektu sady vlastností.pval = valueDokončete definici
Method1př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í
testInstancepoleForm1:Dim WithEvents testInstance As TestInterfaceDeklarováním
testInstancejakoWithEventsForm1může třída zpracovávat své události.Přidejte do třídy následující obslužnou rutinu
Form1události, která zpracovává události vyvolanétestInstance:Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End SubPřidejte do
Testtřídy podprogram pojmenovanýForm1pro 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 SubProcedura
Testvytvoří instanci třídy, která implementujeMyInterface, přiřadí tuto instanci ktestInstancepoli, nastaví vlastnost a spustí metodu prostřednictvím rozhraní.Přidejte kód pro volání
Testprocedury zForm1 Loadprocedury 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 SubSpusťte proceduru
Teststisknutí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“.