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