Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
Nyisson meg egy új Visual Basic Windows-alkalmazásprojektet.
Új modul hozzáadása a projekthez a Projekt menü Modul hozzáadása parancsára kattintva.
Nevezze el az új modult
Module1.vb
, és kattintson a Hozzáadás gombra. Megjelenik az új modul kódja.Az
TestInterface
elnevezésű felületet határozza meg aModule1
-ben úgy, hogy beírjaInterface TestInterface
-t aModule
ésEnd Module
utasítások közé, majd nyomja meg az ENTER billentyűt. A Kódszerkesztő behúzja aInterface
kulcsszót, és hozzáad egy utasítástEnd Interface
egy kódblokk létrehozásához.Definiáljon egy tulajdonságot, metódust és eseményt az interfészhez úgy, hogy az alábbi kódot a
Interface
ésEnd 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
Adjon hozzá egy osztályt, amelynek neve
ImplementationClass
, azáltal, hogy hozzáadja a következő utasítást aModule1
-hez, azEnd Interface
utasítás után, de aEnd 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.Adja hozzá a következő
Implements
utasítást a következőhözImplementationClass
, 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.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 aImplementationClass
elemhez, hogy megvalósítsa aEvent1
,Method1
ésProp1
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.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
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
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
.Adja hozzá a következő
testInstance
mezőt azForm1
osztályhoz:Dim WithEvents testInstance As TestInterface
Ha
testInstance
-tWithEvents
deklaráljuk, az osztály képes kezelni azForm1
eseményeket.Adja hozzá a következő eseménykezelőt a
Form1
osztályhoz, hogy kezelje atestInstance
által létrehozott eseményeket.Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Adjon hozzá egy alrutint
Test
az osztályhoz aForm1
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óMyInterface
osztály egy példányát, hozzárendeli a példányt atestInstance
mezőhöz, beállít egy tulajdonságot, és futtat egy metódust az interfészen keresztül.Adjon hozzá kódot az
Test
eljárás meghívásához azForm1 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
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.