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
TestInterfaceelnevezésű felületet határozza meg aModule1-ben úgy, hogy beírjaInterface TestInterface-t aModuleésEnd Moduleutasítások közé, majd nyomja meg az ENTER billentyűt. A Kódszerkesztő behúzja aInterfacekulcsszót, és hozzáad egy utasítástEnd Interfaceegy 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 Interfaceutasí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 Interfaceutasítás után, de aEnd Moduleutasítás előtt, majd nyomja le az ENTER billentyűt.Class ImplementationClassHa az integrált fejlesztési környezetben dolgozik, a Kódszerkesztő az ENTER billentyű lenyomásakor egyező
End Classutasítást ad meg.Adja hozzá a következő
Implementsutasítást a következőhözImplementationClass, amely az osztály által implementálandó felületnek adja a nevét:Implements TestInterfaceHa az osztály vagy struktúra tetején lévő többi elemtől külön szerepel, az
Implementsutasí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
TestInterfaceosztá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 aImplementationClasselemhez, hogy megvalósítsa aEvent1,Method1ésProp1elemeket.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 PropertyAz
Implementsutasí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 IntegerAdja vissza a
pvaltulajdonság lekérési metódusával szerzett értéket.Return pvalAdja meg a tulajdonságkészlet tartozékának
pvalértékét.pval = valueTöltse ki a definíciót
Method1az 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ő
testInstancemezőt azForm1osztályhoz:Dim WithEvents testInstance As TestInterfaceHa
testInstance-tWithEventsdeklaráljuk, az osztály képes kezelni azForm1eseményeket.Adja hozzá a következő eseménykezelőt a
Form1osztályhoz, hogy kezelje atestInstanceáltal létrehozott eseményeket.Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End SubAdjon hozzá egy alrutint
Testaz osztályhoz aForm1megvaló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 SubAz
Testeljárás létrehozza a megvalósítóMyInterfaceosztály egy példányát, hozzárendeli a példányt atestInstancemezőhöz, beállít egy tulajdonságot, és futtat egy metódust az interfészen keresztül.Adjon hozzá kódot az
Testeljárás meghívásához azForm1 Loadindí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 SubAz 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.