Modulutasítás
Deklarálja a modul nevét, és bevezeti a modul változóinak, tulajdonságainak, eseményeinek és eljárásainak definícióját.
Syntax
[ <attributelist> ] [ accessmodifier ] Module name
[ statements ]
End Module
Részek
attributelist
Opcionális. Lásd: Attribútumlista.
accessmodifier
Opcionális. A következők egyike lehet:
Lásd a Visual Basic hozzáférési szintjeinek megtekintését.
name
Szükséges. A modul neve. Lásd: Deklarált elemnevek.
statements
Opcionális. A modul változóit, tulajdonságait, eseményeit, eljárásait és beágyazott típusait meghatározó utasítások.
End Module
Leállítja a definíciót Module
.
Megjegyzések
Az Module
utasítás a névtérben elérhető referenciatípust határozza meg. A modul (más néven standard modul) hasonló az osztályhoz, de néhány fontos különbséggel. Minden modulnak pontosan egy példánya van, és nem kell létrehozni vagy hozzárendelni egy változóhoz. A modulok nem támogatják az öröklést és az interfészek implementálását. Figyelje meg, hogy a modul nem olyan típusú , mint egy osztály vagy struktúra – nem deklarálhat egy programozási elemet úgy, hogy a modul adattípusa legyen.
Csak névtérszinten használható Module
. Ez azt jelenti, hogy a modul deklarációs környezetének forrásfájlnak vagy névtérnek kell lennie, és nem lehet osztály, struktúra, modul, interfész, eljárás vagy blokk. Nem ágyazhat be modulokat egy másik modulba vagy bármilyen típusba. További információ: Deklarációs környezetek és alapértelmezett hozzáférési szintek.
Egy modul élettartama megegyezik a program élettartamával. Mivel a tagok mind Shared
, ők is élettartam egyenlő, hogy a program.
A modulok alapértelmezés szerint a Friend-hozzáféréshez lesznek kapcsolva. A hozzáférési szinteket a hozzáférési módosítókkal módosíthatja. További információ: Hozzáférési szintek a Visual Basicben.
A modul minden tagja implicit módon Shared
van.
Osztályok és modulok
Ezek az elemek sok hasonlóságot mutatnak, de van néhány fontos különbség is.
Terminológia. A Visual Basic korábbi verziói kétféle modult ismernek fel: osztálymodulokat (.cls-fájlokat) és standard modulokat (.bas-fájlokat). Az aktuális verzió ezeket az osztályokat és modulokat hívja meg.
Megosztott tagok. Szabályozhatja, hogy egy osztály egy tagja megosztott vagy példánytag-e.
Objektum tájolása. Az osztályok objektumorientáltak, de a modulok nem. Így csak osztályok hozhatók létre objektumként. További információ: Objektumok és osztályok.
Szabályok
Módosítók. Minden modultag implicit módon meg van osztva. Tag deklarálásakor nem használhatja a
Shared
kulcsszót, és egyetlen tag megosztott állapotát sem módosíthatja.Öröklési. Egy modul nem örökölhet más típusból, mint Objectamelytől az összes modul örököl. Az egyik modul nem örökölhető a másiktól.
A moduldefinícióban nem használhatja az Öröklődő utasítást , még a megadásával Objectsem.
Alapértelmezett tulajdonság. A modulban nem definiálhat alapértelmezett tulajdonságokat. További információ: Alapértelmezett.
Működés
Hozzáférési szint. Egy modulon belül minden tagot saját hozzáférési szinttel deklarálhat. A modultagok alapértelmezés szerint nyilvános hozzáféréssel érhetők el, kivéve a változókat és állandókat, amelyek alapértelmezés szerint privát hozzáféréssel érhetők el. Ha egy modul több korlátozott hozzáféréssel rendelkezik, mint az egyik tagja, a megadott modul hozzáférési szintje elsőbbséget élvez.
Hatály. Egy modul a teljes névtérben hatókörben van.
Minden modultag hatóköre a teljes modul. Figyelje meg, hogy minden tag típus-előléptetésen megy keresztül, ami miatt a hatóköre előléptethető a modult tartalmazó névtérben. További információ: Típus-előléptetés.
Képesítés. Egy projektben több modul is lehet, és két vagy több modulban azonos nevű tagokat deklarálhat. Ha azonban a hivatkozás a modulon kívülről származik, a megfelelő modulnévvel kell minősítenie az ilyen tagra mutató hivatkozásokat. További információ: Deklarált elemekre mutató hivatkozások.
Példa
Public Module thisModule
Sub Main()
Dim userName As String = InputBox("What is your name?")
MsgBox("User name is " & userName)
End Sub
' Insert variable, property, procedure, and event declarations.
End Module
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: