Поделиться через


Классы и модули

Обновлен: Ноябрь 2007

Классы, как и модули, представляют собой ссылочные типы, инкапсулирующие элементы, определенные в них. Однако они различаются по способу доступа к элементам из других процедур.

Различия между классами и модулями

Основное различие между классами и модулями состоит в том, что классы могут быть инициализированы как объекты, а модули — нет. Существует только одна копия данных стандартного модуля, поэтому при изменении одной частью программы общей переменной в стандартном модуле при последующем чтении этой переменной любая другая часть программы получает измененное значение. Напротив, объект данных существует отдельно для каждого экземпляра объекта. В отличие от стандартных модулей, классы могут реализовывать интерфейсы.

7825002w.alert_note(ru-ru,VS.90).gifПримечание.

Когда модификатор Shared применяется к члену класса, он связан с самим классом непосредственно, а не через экземпляр класса. Непосредственный доступ к члену осуществляется с помощью имени класса. Тем же способом осуществляется доступ к членам модуля. Дополнительные сведения об общих членах см. в разделе Общие члены в Visual Basic.

Классы и модули используют различные области действия для своих членов. Члены, определенные внутри класса, находятся в определенном экземпляре класса и существуют только во время существования объекта. Для доступа к членам класса за пределами класса необходимо использовать полные имена в формате Объект.Член.

С другой стороны, члены, объявленные в модуле, общедоступны по умолчанию, и доступ к нему может осуществить любой код, имеющий доступ к модулю. Это означает, что переменные в стандартном модуле являются фактически глобальными переменными, так как они видимы из любой части проекта и существуют во время выполнения программы.

См. также

Основные понятия

Структуры и классы

Общие члены в Visual Basic

Ссылки

Shared (Visual Basic)

Другие ресурсы

Общее представление о классах