Оператор Module, Microsoft Docs

Оголошує ім'я модуля та подає визначення змінних, властивостей, подій та процедур, які включені до модуля.

accessmodifier Необов'язковий. Може приймати такі значення:

name Обов'язковий. Назва цього модуля. розділ Імена оголошених типів (Visual Basic).

statements Необов'язковий. Оператори, які визначають змінні, властивості, події, процедури та вкладені типи цього модуля.

End Module Завершує визначення Module.

Оператор Module визначає тип посилання, доступний для всього простору імен. Модуль (іноді званий стандартний модуль) має деяку подібність до класу, однак, існують важливі відмінності. Кожен модуль має рівно один екземпляр і не вимагає створення або привласнення змінної. Модулі не підтримують успадкування та не реалізують інтерфейси. Зверніть увагу, що модуль не є типом (наприклад, клас або структура), тому не можна оголошувати елемент програмування з типом даних "модуль".

Модуль має той самий час існування, як і програма. Оскільки всі елементи модуля є Shared, вони також мають час існування рівний час існування програми.

Модулі за промовчанням мають рівень доступу Friend (Visual Basic). Можна налаштувати рівні доступу за допомогою модифікаторів доступу. Щоб отримати додаткові відомості, див. Рівень доступу до Visual Basic.

Всі елементи модуля неявно Shared.

Класи та модулі

Ці елементи мають багато спільного, але є важливі відмінності.

Термінологія. Попередні версії Visual Basic розрізняють два типи модулів: модулі класу (файли CLS) та стандартні модулі (файли BAS). У поточній версії вони називаються відповідно класами та модулями.

Загальні члени. Можна керувати тим, чи є член класу загальним чи членом екземпляра.

Об'єктна орієнтація. Класи є об'єктно орієнтованими, а модулі - ні. Тому лише класи можуть бути створені як об'єкти. Щоб отримати додаткові відомості, див. Об'єкти та класи Visual Basic.

Спадкування. Модуль не може успадковувати від типу, відмінного від Object, від якого успадковують усі модулі. Зокрема один модуль не може успадковувати від іншого.

Не можна використовувати Інструкцію Inherits у визначенні модуля навіть для вказівки Object.

Атрибут за промовчанням. У модулі не можна визначати властивості за промовчанням. Для отримання додаткових відомостей див. розділ Default (Visual Basic).

Рівень доступу. У модулі можна оголосити кожен елемент зі своїм власним рівнем доступу. Елементи модуля за замовчуванням мають рівень доступу Public (Visual Basic), за винятком змінних та констант, які за промовчанням мають рівень доступу Private (Visual Basic). Якщо модуль містить більш обмежений доступ, ніж один із його елементів, заданий рівень доступу до модуля має більший пріоритет.

Область дії. Область дії модуля поширюється на весь його простір імен.

Області дії для кожного елемента модуля є весь модуль. Зверніть увагу, що всі елементи зазнають підвищення типу, внаслідок чого їхня область дії розширюється до простору імен, що містить модуль. Для отримання додаткових відомостей див. розділ Підвищення типу (Visual Basic).