Изявление за модул, Microsoft Docs

Декларира името на модул и представя дефинициите на променливи, свойства, събития и процедури, които са включени в модула.

accessmodifier По избор. Може да приема следните стойности:

име Задължително. Името на този модул. Вижте имена на декларирани типове (Visual Basic).

твърдения По избор. Инструкции, които дефинират променливите, свойствата, събитията, процедурите и вложените типове на този модул.

Краен модул Завършва дефиницията на модул.

Изявлението Module дефинира референтен тип, който е достъпен за цялото пространство от имена. Модул (понякога наричан стандартен модул) споделя някои прилики с клас, но има важни разлики. Всеки модул има точно един екземпляр и не изисква създаване или присвояване на променлива. Модулите не поддържат наследяване и не прилагат интерфейси. Имайте предвид, че модулът не е тип (като клас или структура), така че не можете да декларирате програмен елемент с тип данни модул.

Модулът има същия живот като програмата. Тъй като всички елементи на модула са споделени, те също имат живот, равен на живота на програмата.

Модулите имат ниво на достъп Friend (Visual Basic) по подразбиране. Нивата на достъп могат да се конфигурират с помощта на модификатори за достъп. За повече информация вижте Нива на достъп във Visual Basic.

Всички елементи на модула са имплицитно споделени.

Класове и модули

Тези елементи имат много общи неща, но има и важни разлики.

Терминология. Предишните версии на Visual Basic разграничават два типа модули: класови модули (CLS файлове) и стандартни модули (BAS файлове). В текущата версия те се наричат ​​съответно класове и модули.

Публични членове. Можете да контролирате дали даден член на класа е публичен член или член на екземпляр.

Обектно-ориентирани. Класовете са обектно-ориентирани, но модулите не са. Следователно като обекти могат да се създават само класове. За повече информация вижте Обекти и класове на Visual Basic.

Наследяване. Един модул не може да наследява от тип, различен от Object, от който всички модули наследяват. По-специално, един модул не може да наследява друг.

Не можете да използвате израза Inherits в дефиниция на модул, дори за да посочите обект.

Атрибут по подразбиране. Не можете да дефинирате свойства по подразбиране в модул. За повече информация вижте По подразбиране (Visual Basic).

Ниво на достъп. В модул можете да декларирате всеки елемент със собствено ниво на достъп. Елементите на модула имат ниво на достъп Public (Visual Basic) по подразбиране, с изключение на променливи и константи, които имат ниво на достъп Private (Visual Basic) по подразбиране. Ако даден модул съдържа по-ограничен достъп от един от неговите елементи, определеното ниво на достъп на модула има предимство.

Обхват. Обхватът на модул се простира до цялото му пространство от имена.

Обхватът на всеки модулен елемент е целият модул. Обърнете внимание, че всички елементи преминават през повишение на типа, което разширява техния обхват до пространството от имена, съдържащо модула. За повече информация вижте Промоция на типа (Visual Basic).