Module – příkaz
Deklaruje název modulu a zavádí definici proměnných, vlastností, událostí a procedur, které modul tvoří.
Syntax
[ <attributelist> ] [ accessmodifier ] Module name
[ statements ]
End Module
Součásti
attributelist
Nepovinný parametr. Viz Seznam atributů.
accessmodifier
Nepovinný parametr. Může to být jedna z následujících možností:
Viz Úrovně přístupu v Visual Basic.
name
Povinná hodnota. Název tohoto modulu Viz Deklarované názvy elementů.
statements
Nepovinný parametr. Příkazy, které definují proměnné, vlastnosti, události, procedury a vnořené typy tohoto modulu.
End Module
Ukončí Module definici.
Poznámky
Příkaz Module definuje odkazový typ dostupný v celém oboru názvů. Modul (někdy nazývaný standardní modul) se podobá třídě, ale s některými důležitými rozdíly. Každý modul má přesně jednu instanci a nemusí být vytvořen nebo přiřazen k proměnné. Moduly nepodporují dědičnost ani implementují rozhraní. Všimněte si, že modul není typ v tom smyslu, že třída nebo struktura je – nelze deklarovat programovací prvek tak, aby měl datový typ modulu.
Můžete použít pouze Module na úrovni oboru názvů. To znamená, že kontext deklarace modulu musí být zdrojový soubor nebo obor názvů a nemůže to být třída, struktura, modul, rozhraní, procedura nebo blok. Modul nelze vnořit do jiného modulu ani v rámci žádného typu. Další informace najdete v tématu Kontexty deklarace a Výchozí úrovně přístupu.
Modul má stejnou životnost jako váš program. Vzhledem k tomu, že jeho členy jsou všechny , mají také životnost, která se rovná Shared životnosti programu.
U modulů se jako výchozí přistup k přátelům. Jejich úrovně přístupu můžete upravit pomocí modifikátorů přístupu. Další informace najdete v tématu Úrovně přístupu v Visual Basic.
Všichni členové modulu jsou implicitně Shared .
Třídy a moduly
Tyto prvky mají mnoho podobností, ale existují i některé důležité rozdíly.
Terminologie. Předchozí verze modulu Visual Basic dva typy modulů: moduly tříd (soubory .cls) a standardní moduly (soubory .bas). Aktuální verze volá tyto třídy a moduly v uvedeném pořadí.
Sdílené členy. Můžete řídit, zda je členem třídy sdílený člen nebo člen instance.
Orientace objektu. Třídy jsou objektově orientované, ale moduly nikoli. Instance pouze tříd lze vytvořit jako objekty. Další informace najdete v tématu Objekty a třídy.
Pravidla
Modifikátory. Všichni členové modulu jsou implicitněsdílené. Klíčové slovo nelze
Sharedpoužít při deklaraci členu a nelze změnit sdílený stav žádného členu.Dědičnosti. Modul nemůže dědit z jakéhokoli jiného typu než Object , ze kterého dědí všechny moduly. Konkrétně jeden modul nemůže dědit z druhého.
Příkaz Inherits nelze použít v definici modulu, a to ani k zadání Object .
Výchozí vlastnost. V modulu nelze definovat žádné výchozí vlastnosti. Další informace najdete v tématu Výchozí.
Chování
Úroveň přístupu. V rámci modulu můžete deklarovat každého člena s vlastní úrovní přístupu. Ve výchozím nastavení mají členové modulu veřejný přístup s výjimkou proměnných a konstant, které mají výchozí privátní přístup. Pokud má modul omezenější přístup než jeden ze svých členů, má přednost zadaná úroveň přístupu k modulu.
Rozsah. Modul je v oboru v celém oboru názvů.
Rozsah každého člena modulu je celý modul. Všimněte si, že všechny členy procházejí povýšením typu , což způsobí povýšení jejich oboru na obor názvů obsahující modul. Další informace najdete v tématu Povýšení typu.
Kvalifikace. V projektu můžete mít více modulů a členy se stejným názvem můžete deklarovat ve dvou nebo více modulech. Pokud je však odkaz mimo tento modul, musíte kvalifikovat jakýkoli odkaz na takového člena s příslušným názvem modulu. Další informace najdete v tématu Odkazy na deklarované elementy.
Příklad
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