exponenta event banner

Способы использования свойств

Что такое свойства

Свойства инкапсулируют данные, принадлежащие экземплярам классов. Данные, содержащиеся в свойствах, могут быть общедоступными, защищенными или частными. Эти данные могут быть фиксированным набором постоянных значений или зависеть от других значений и рассчитываться только при запросе. Управление этими аспектами поведения свойств осуществляется путем задания атрибутов свойств и определения специфичных для свойства методов доступа.

Гибкость свойств объекта

В некоторых случаях свойства подобны полям struct объект. Однако сохранение данных в свойстве объекта обеспечивает большую гибкость. Свойства могут:

Пример класса, определяющего и использующего класс, см. в разделе Создание простого класса.

Типы свойств

Существует два типа свойств:

  • Сохраненные свойства - используйте память и являются частью объекта

  • Зависимые свойства - нет выделенной памяти, и метод получения доступа вычисляет значение при запросе

Особенности хранимых свойств

  • Значение свойства сохраняется при сохранении объекта в MAT-файле

  • Может назначить значение по умолчанию в определении класса

  • Может ограничить значение свойства определенным классом и размером

  • Может выполнять функции проверки для управления допустимым значением свойства (по умолчанию и назначенным)

  • Может использовать метод доступа set для управления возможными значениями при установке

Когда использовать сохраненные свойства

  • Требуется сохранить значение свойства в MAT-файле

  • Значение свойства не зависит от других значений свойств

Особенности зависимых свойств

Зависимые свойства сохраняют память, поскольку значения свойств, зависящие от других значений, вычисляются только при необходимости.

Когда использовать зависимые свойства

Определите свойства как зависимые, если необходимо:

  • Вычислить значение свойства из других значений (например, можно вычислить площадь из Width и Height свойства).

  • Укажите значение в различных форматах в зависимости от других значений. Например, размер кнопки в значениях, определяемых текущей настройкой ее Units собственность.

  • Предоставление стандартного интерфейса, в котором определенное свойство используется или не используется, в зависимости от других значений. Например, различные компьютерные платформы могут иметь различные компоненты на панели инструментов).

Примеры классов, использующих зависимые свойства, см. в разделах Расчет данных по требованию и Иерархия классов для гетерогенных массивов.

Связанные темы