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