Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переменные и свойства представляют значения, к которым можно получить доступ. Однако существуют различия в хранении и реализации.
Переменные
Переменная соответствует непосредственно расположению памяти. Переменная определяется с помощью одной инструкции объявления. Переменная может быть локальной переменной, определенной внутри процедуры и доступной только в этой процедуре, или это может быть переменная-член, определенная в модуле, классе или структуре, но не внутри какой-либо процедуры. Переменная-член также называется полем.
Свойства
Свойство — это элемент данных, определенный в модуле, классе или структуре. Вы определяете свойство с блоком кода между операторами Property
и End Property
. Блок кода содержит процедуру Get
, процедуру Set
или оба. Эти процедуры называются процедурами свойств или средствами доступа к свойствам. Помимо получения или хранения значения свойства, они также могут выполнять пользовательские действия, такие как обновление счетчика доступа.
Различия
В следующей таблице показаны некоторые важные различия между переменными и свойствами.
Точка разницы | Переменная | Недвижимость |
---|---|---|
Декларация | Оператор одиночного объявления | Ряд инструкций в блоке кода |
Внедрение | Отдельное расположение хранилища | Исполняемый код (процедуры свойств) |
Хранение | Непосредственно связанное со значением переменной | Обычно внутреннее хранилище недоступно за пределами содержащего класса или модуля свойства Значение свойства может существовать или не может существовать в качестве хранимого элемента 1 |
Исполняемый код | Отсутствует | Должна иметь по крайней мере одну процедуру |
Доступ на чтение и запись | Для чтения и записи или только для чтения | Чтение/запись, только для чтения или только для записи |
Пользовательские действия (в дополнение к принятию или возврату значений) | Невозможно | Может выполняться как часть установки или получения значения свойства |
1 В отличие от переменной, значение свойства может не соответствовать непосредственно одному элементу хранилища. Хранилище может быть разделено на части для удобства или безопасности, или значение может храниться в зашифрованной форме. В этих случаях Get
процедура будет собирать части или расшифровывать хранимое значение, и Set
процедура зашифрует новое значение или разделит его на составное хранилище. Значение свойства может быть временным, например время дня, в этом случае Get
процедура вычисляет его на лету каждый раз, когда вы обращаетесь к свойству.
См. также
- Процедуры свойств
- Параметры процедуры и аргументы
- Заявление о собственности
- Оператор Dim
- Практическое руководство. Создание свойства
- Как объявить свойство с смешанными уровнями доступа
- Практическое руководство: Вызов процедуры свойства
- Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic
- Практическое руководство. Добавление значения в свойство
- Практическое руководство. Получение значения из свойства