Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП.docx
Скачиваний:
4
Добавлен:
14.11.2019
Размер:
58.48 Кб
Скачать

Все модули в одном

При создании классов и стандартных модулей при помощи меню: Project Add New Item для каждого стандартного модуля или класса автоматически создается свой файл и свое окно кода.

Но все стандартные модули и классы можно создавать в одном-единственном окне кода и в одном файле, причем даже в окне кода и файле формы.

Например, создайте проект и запишите в окне кода формы такой текст:

Public Class Forml

Inherits System.Windows.Forms.Form

Windows Form Designer generated code

'Сюда пишем код формы

End Class

Public Class Класс

'Сюда пишем код класса

End Class

Public Module Модуль

'Сюда пишем код модуля

End Module

Public Structure Структура

'Сюда пишем код структуры

End Structure

Вы видите в окне кода 4 равноправных модуля: два класса, один стандартный модуль и одну структуру. Как видите, VB не возражает. Отныне вы можете делать так всегда, а когда модули короткие, это даже удобно. Для этого подходит окно кода не только формы, но и класса и стан­дартного модуля. Причем ведут себя классы и стандартные модули совершенно так, как если бы были созданы в собственных файлах и имели собственное окно кода.

Области видимости

Когда проекты состоят из нескольких модулей, встает вопрос о видимости переменных, процедур и других элементов VB из других модулей. Чтобы элемент был виден из других модулей, достаточно объявить его не словом Dim, а словом Public..

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

Public Class Classl Dim С As Integer

Public A As Integer

Private В As Integer

Const M As Integer = 3

Public Const К As Integer = 1

Private Const L As Integer = 2

Private Sub Проц()

Dim C1 As Integer

End Sub

Sub Проц1()

Const L1 As Integer = 4

End Sub

Public Function Функц() As String

Static D As Integer

Return "Привет"

End Function

End Class

Мы различаем области видимости пяти уровней (в порядке увеличения охвата):

  • блок внутри процедуры или функции;

  • процедура или функция;

  • модуль;

  • проект;

  • неограниченная область (элемент виден из своего и из других проектов).

Последний случай актуален тогда, когда проект во время своей работы взаимодействует с другими проектами и должен видеть некоторые их элементы.

Рассмотрим области видимости начиная с самой узкой и кончая самой широкой.

Локальные переменные и константы.

Тем, в какой области будет виден тот или иной элемент, мы можем управлять при помощи так называемых модификаторов доступа. Модификаторов доступа всего 5: Public, Private, Protected, Friend, Protected Friend.

Внутри процедур и функций переменные могут быть объявлены только при помощи слов Dim и Static, а константы - только при помощи Const. Это блочная и локальная области видимости и локальные переменные и константы. Они видны только в той процедуре, функции или блоке, в которых объявлены.

Теперь поговорим об элементах, объявленных вне процедур и функций. Это и переменные, и константы, и процедуры, и функции, и модули. Они могут быть видны или только в том модуле, где они объявлены (независимо от того, насколько глубоко он угнездился внутри других модулей), или во всем проекте, или в неограниченной области в зависимости от того, при помощи каких слов это было сделано.