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


Различия между свойствами и переменными в Visual Basic

Переменные и свойства представляют значения, к которым можно получить доступ. Однако существуют различия в хранении и реализации.

Переменные

Переменная соответствует непосредственно расположению памяти. Переменная определяется с помощью одной инструкции объявления. Переменная может быть локальной переменной, определенной внутри процедуры и доступной только в этой процедуре, или это может быть переменная-член, определенная в модуле, классе или структуре, но не внутри какой-либо процедуры. Переменная-член также называется полем.

Свойства

Свойство — это элемент данных, определенный в модуле, классе или структуре. Вы определяете свойство с блоком кода между Property операторами и End Property операторами. Блок кода содержит процедуру Get , процедуру Set или оба. Эти процедуры называются процедурами свойств или средствами доступа к свойствам. Помимо получения или хранения значения свойства, они также могут выполнять пользовательские действия, такие как обновление счетчика доступа.

Differences

В следующей таблице показаны некоторые важные различия между переменными и свойствами.

Точка разницы «Переменная» Свойство
Объявление Оператор single declaration Ряд операторов в блоке кода
Внедрение Отдельное расположение хранилища Исполняемый код (процедуры свойств)
Хранилище Непосредственно связанное со значением переменной Обычно внутреннее хранилище недоступно за пределами содержащего класса или модуля свойства

Значение свойства может существовать или не может существовать в качестве хранимого элемента 1
Исполняемый код нет Должна иметь по крайней мере одну процедуру
Доступ на чтение и запись Только для чтения и записи или чтения Только для чтения и записи, только для чтения или записи
Пользовательские действия (в дополнение к принятию или возврату значения) Невозможно Может выполняться как часть параметра или получения значения свойства

1 В отличие от переменной, значение свойства может не соответствовать непосредственно одному элементу хранилища. Хранилище может быть разделено на части для удобства или безопасности, или значение может храниться в зашифрованной форме. В этих случаях Get процедура будет собирать части или расшифровывать хранимое значение, и Set процедура зашифрует новое значение или разделит его на составное хранилище. Значение свойства может быть временным, например время дня, в этом случае Get процедура вычисляет его на лету каждый раз, когда вы обращаетесь к свойству.

См. также