Практическое руководство. Добавление полей и свойств в класс
Обновлен: Ноябрь 2007
Для хранения данных в объекте используются и поля, и свойства. Поля и свойства объявляются различными способами внутри класса, несмотря на то что они почти неотличимы с точки зрения клиентского приложения. Поля являются общими переменными, предоставляемыми классом; свойства используют процедуры Property для управления заданием и возвратом переменных.
Чтобы добавить поле в класс
Объявите общую переменную в определении класса, как показано в следующем примере кода:
Class ThisClass Public ThisField As String End Class
Чтобы добавить свойство в класс
Объявите локальную переменную внутри класса для хранения значения свойства. Это необходимо, поскольку свойства сами не выделяют памяти. Переменные, используемые для хранения значений свойств, следует объявлять как Private для их защиты от прямого изменения.
Начните объявление свойства с нужного модификатора, например Public или Shared. Объявите имя свойства с помощью ключевого слова Property и тип данных, хранимых и возвращаемых свойством.
Определите процедуры свойства Get и Set внутри описания свойства. Процедуры свойства Get используются для возврата значения свойства и их синтаксис мало отличается от синтаксиса функций. Они не принимают аргументы и могут использоваться для возврата значения частных локальных переменных, объявленных внутри класса, используемого для хранения значения свойства. Процедуры свойства Set используются для задания значения свойства; они имеют параметр, который обычно называется Value, с тем же типом данных, что и свойство. При каждом изменении значения свойства, Value передается в процеуру свойства Set, где его можно проверить и сохранить в локальной переменной.
Завершите процедуры свойства Get и Set с помощью соответствующих операторов End Get и End Set.
Завершите блок свойств с помощью оператора End Property.
Примечание. При работе в среде интегрированной разработки Visual Studio, можно создавать пустые процедуры свойства Get и Set. После набора PropertyPropNameAsDataType (где PropName— имя свойства, а DataType — определенный тип данных, такой как Integer) в Code Editor появятся процедуры свойств.
В следующем примере производится объявление свойства в классе.
Class ThisClass Private m_PropVal As String Public Property One() As String Get ' Return the value stored in the local variable. Return m_PropVal End Get Set(ByVal Value As String) ' Store the value in a local variable. m_PropVal = Value End Set End Property End Class
При создании экземпляра ThisClass и установлении значения свойства One, вызывается процедура свойства Set и значение передается в параметр Value, который хранится в локальной переменной m_PropVal. При извлечении значения этого свойства процедура свойства Get вызывается как функция и возвращает значение, хранящееся в локальной переменной m_PropVal.
См. также
Задачи
Практическое руководство. Добавление событий в класс