Megosztás a következőn keresztül:


Útmutató: Interfészek létrehozása és implementálása (Visual Basic)

Az interfészek a tulajdonságok, metódusok és események jellemzőit írják le, de a megvalósítás részleteit struktúrákra vagy osztályokra hagyják.

Ez az útmutató bemutatja, hogyan deklarálhat és valósíthat meg felületet.

Megjegyzés:

Ez az útmutató nem nyújt információt a felhasználói felület létrehozásáról.

Megjegyzés:

Előfordulhat, hogy a számítógép különböző neveket vagy helyeket jelenít meg a Visual Studio felhasználói felületének egyes elemeihez az alábbi utasításokban. Ezeket az elemeket a Visual Studio-kiadás és a használt beállítások határozzák meg. További információért lásd: A fejlesztői környezet személyre szabása.

Interfész definiálása

  1. Nyisson meg egy új Visual Basic Windows-alkalmazásprojektet.

  2. Új modul hozzáadása a projekthez a Projekt menü Modul hozzáadása parancsára kattintva.

  3. Nevezze el az új modult Module1.vb , és kattintson a Hozzáadás gombra. Megjelenik az új modul kódja.

  4. Az TestInterface elnevezésű felületet határozza meg a Module1-ben úgy, hogy beírja Interface TestInterface-t a Module és End Module utasítások közé, majd nyomja meg az ENTER billentyűt. A Kódszerkesztő behúzja a Interface kulcsszót, és hozzáad egy utasítást End Interface egy kódblokk létrehozásához.

  5. Definiáljon egy tulajdonságot, metódust és eseményt az interfészhez úgy, hogy az alábbi kódot a Interface és End Interface utasítások közé helyezi.

    Property Prop1() As Integer
    Sub Method1(ByVal X As Integer)
    Event Event1()
    

Megvalósítás

Megfigyelheti, hogy az illesztőtagok deklarálásához használt szintaxis eltér az osztálytagok deklarálásához használt szintaxistól. Ez a különbség azt a tényt tükrözi, hogy az interfészek nem tartalmazhatnak implementációs kódot.

A felület implementálása

  1. Adjon hozzá egy osztályt, amelynek neve ImplementationClass, azáltal, hogy hozzáadja a következő utasítást a Module1-hez, az End Interface utasítás után, de a End Module utasítás előtt, majd nyomja le az ENTER billentyűt.

    Class ImplementationClass
    

    Ha az integrált fejlesztési környezetben dolgozik, a Kódszerkesztő az ENTER billentyű lenyomásakor egyező End Class utasítást ad meg.

  2. Adja hozzá a következő Implements utasítást a következőhöz ImplementationClass, amely az osztály által implementálandó felületnek adja a nevét:

    Implements TestInterface
    

    Ha az osztály vagy struktúra tetején lévő többi elemtől külön szerepel, az Implements utasítás azt jelzi, hogy az osztály vagy a struktúra egy interfészt valósít meg.

    Ha az integrált fejlesztési környezetben dolgozik, a Kódszerkesztő implementálja az ENTER billentyű lenyomásakor szükséges TestInterface osztálytagokat, és kihagyhatja a következő lépést.

  3. Ha nem az integrált fejlesztési környezetben dolgozik, a felület MyInterfaceösszes tagját implementálnia kell. Adja hozzá a következő kódot a ImplementationClass elemhez, hogy megvalósítsa a Event1, Method1 és Prop1 elemeket.

    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
    

    Az Implements utasítás a megvalósítandó felület és felülettag nevét tartalmazza.

  4. Töltse ki a definíciót Prop1 úgy, hogy hozzáad egy privát mezőt a tulajdonságértéket tároló osztályhoz:

    ' Holds the value of the property.
    Private pval As Integer
    

    Adja vissza a pval tulajdonság lekérési metódusával szerzett értéket.

    Return pval
    

    Adja meg a tulajdonságkészlet tartozékának pval értékét.

    pval = value
    
  5. Töltse ki a definíciót Method1 az alábbi kód hozzáadásával.

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

Az interfész implementálásának tesztelése

  1. Kattintson a jobb gombbal a projekt indítási űrlapjára a Megoldáskezelőben, és kattintson a Kód megtekintése parancsra. A szerkesztő megjeleníti az indítási űrlap osztályát. Alapértelmezés szerint az indítási űrlap neve Form1.

  2. Adja hozzá a következő testInstance mezőt az Form1 osztályhoz:

    Dim WithEvents testInstance As TestInterface
    

    Ha testInstance-t WithEvents deklaráljuk, az osztály képes kezelni az Form1 eseményeket.

  3. Adja hozzá a következő eseménykezelőt a Form1 osztályhoz, hogy kezelje a testInstance által létrehozott eseményeket.

    Sub EventHandler() Handles testInstance.Event1
        MsgBox("The event handler caught the event.")
    End Sub
    
  4. Adjon hozzá egy alrutint Test az osztályhoz a Form1 megvalósítási osztály teszteléséhez:

    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
    

    Az Test eljárás létrehozza a megvalósító MyInterfaceosztály egy példányát, hozzárendeli a példányt a testInstance mezőhöz, beállít egy tulajdonságot, és futtat egy metódust az interfészen keresztül.

  5. Adjon hozzá kódot az Test eljárás meghívásához az Form1 Load indítási űrlap eljárásából:

    Private Sub Form1_Load(ByVal sender As System.Object,
                           ByVal e As System.EventArgs) Handles MyBase.Load
        Test() ' Test the class.
    End Sub
    
  6. Az eljárást futtassa az F5 billentyű lenyomásával Test. Ekkor megjelenik a "Prop1 9 értékre van állítva" üzenet. Az OK gombra kattintás után megjelenik az "1. metódus X paramétere 5" üzenet. Kattintson az OK gombra, és megjelenik az "Az eseménykezelő elkapta az eseményt" üzenet.

Lásd még