Návod: Vytvoření a implementace rozhraní (Visual Basic)

Rozhraní popisují charakteristiky vlastností, metod a událostí, ale podrobnosti implementace ponechte na strukturách nebo třídách.

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í (IDE).

Definování rozhraní

  1. Otevřete nový projekt Visual Basic Windows aplikace.

  2. Do projektu přidejte nový modul kliknutím na Přidat modul v Project nabídky.

  3. Pojmete nový modul a Module1.vb klikněte na Přidat. Zobrazí se kód nového modulu.

  4. Definujte rozhraní s názvem uvnitř zadáním mezi příkazy a a TestInterface Module1 potom stisknutím Interface TestInterface Module End Module klávesy ENTER. Editor kódu odsadí klíčové slovo a přidá příkaz pro vytvoření bloku Interface End Interface kódu.

  5. Definujte vlastnost, metodu a událost pro rozhraní umístěním následujícího kódu mezi Interface příkazy End Interface a :

    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žívané k deklaraci členů třídy. Tento rozdíl odráží skutečnost, že rozhraní nemohou obsahovat implementační kód.

Implementace rozhraní

  1. Přidejte třídu s názvem přidáním následujícího příkazu do , za příkaz , ale před příkaz a ImplementationClass Module1 stisknutím End Interface End Module klávesy ENTER:

    Class ImplementationClass
    

    Pokud pracujete v integrovaném vývojovém prostředí, editor kódu při stisknutí klávesy ENTER předá End Class odpovídající příkaz.

  2. Do souboru Implements přidejte ImplementationClass následující příkaz , který bude na názvy rozhraní, které třída implementuje:

    Implements TestInterface
    

    Pokud je uveden odděleně od ostatních položek v horní části třídy nebo struktury, příkaz indikuje, že třída nebo Implements struktura implementuje rozhraní.

    Pokud pracujete v integrovaném vývojovém prostředí, editor kódu implementuje členy třídy vyžadované stisknutím klávesy ENTER a můžete přeskočit TestInterface další krok.

  3. Pokud nepracujete v integrovaném vývojovém prostředí, musíte implementovat všechny členy rozhraní MyInterface . Do souboru přidejte následující ImplementationClass kód pro implementaci , a Event1 Method1 Prop1 :

    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 má název implementované rozhraní a člena rozhraní.

  4. Dokončete definici Prop1 přidáním privátní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 v pval přistupovači sady vlastností.

    pval = value
    
  5. Dokončete Method1 definici souboru přidáním následujícího kódu.

    MsgBox("The X parameter for Method1 is " & X)
    RaiseEvent Event1()
    

Testování implementace rozhraní

  1. Klikněte pravým tlačítkem na spouštěcí formulář pro váš projekt 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í se spouštěcí formulář nazývá Form1 .

  2. Do třídy testInstance přidejte následující Form1 pole:

    Dim WithEvents testInstance As TestInterface
    

    Deklarováním testInstance jako WithEvents může třída zpracovat Form1 své události.

  3. Přidejte následující obslužnou rutinu události Form1 do třídy pro zpracování událostí vyvolané testInstance :

    Sub EventHandler() Handles testInstance.Event1
        MsgBox("The event handler caught the event.")
    End Sub
    
  4. Přidejte do třídy podprogram Test s názvem , abyste Form1 otestování implementační třídy:

    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 vytvoří instanci třídy , která implementuje , přiřadí tuto instanci k poli, nastaví vlastnost a spustí Test MyInterface testInstance metodu prostřednictvím rozhraní .

  5. Přidejte kód pro Test volání Form1 Load procedury z 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
    
  6. Stisknutím Test klávesy F5 spusťte proceduru. Zobrazí se zpráva Prop1 byla nastavená na 9. Po kliknutí na OK se zobrazí zpráva "Parametr X pro metodu Method1 je 5". Klikněte na OK a zobrazí se zpráva Obslužná rutina události zachytila událost.

Viz také