Свойства инкапсулируют данные, которые относятся к образцам классов. Данные, содержащиеся в свойствах, могут быть общедоступными, защищенными или частными. Эти данные могут быть фиксированным набором постоянных значений или могут зависеть от других значений и вычисляться только при запросе. Вы управляете этими аспектами поведения свойств, задавая атрибуты свойств и определяя методы доступа к конкретным свойствам.
В некотором роде свойства похожи на поля struct
объект. Однако хранение данных в свойстве объекта обеспечивает большую гибкость. Свойства могут:
Задайте постоянное значение, которое вы не можете изменить вне определения класса. См. «Определение свойств классов с постоянными значениями».
Вычислим его значение на основе текущего значения других данных. См. «Методы получения свойств».
Выполните функцию, чтобы определить, соответствует ли попытка присвоения значения определенному критерию. См. Раздел «Методы набора свойств»
Инициируйте уведомление о событии, когда предпринимается любая попытка получить или задать его значение. См. «Набор свойств» и «Запрос Событий».
Управляйте доступом по коду к значениям свойств. Смотрите SetAccess
и GetAccess
атрибуты Атрибуты свойств.
Управление сохранением его значения вместе с объектом в MAT-файле. См. раздел «Сохранение и загрузка объектов».
Пример класса, который задает и использует класс, см. в разделе Создание простого класса.
Существует два типа свойств:
Сохраненные свойства - Используйте память и являются частью объекта
Зависимые свойства - Нет выделенной памяти, и метод get access вычисляет значение при запросе
Значение свойства сохранено, когда вы сохраняете объект в MAT-файле
Можно назначить значение по умолчанию в определении класса
Можно ограничить значение свойства определенным классом и размером
Можно выполнить функции валидации, чтобы управлять разрешенным значением свойства (по умолчанию и назначенным)
Может использовать метод доступа к набору для управления возможными значениями при наборе
Вы хотите иметь возможность сохранять значение свойства в MAT-файле
Значение свойства не зависит от других значений свойств
Зависимые свойства сохраняют память, потому что значения свойств, которые зависят от других значений, вычисляются только при необходимости.
Определите свойства как зависимые, когда вы хотите:
Вычислите значение свойства из других значений (для примера можно вычислить площадь из Width
и Height
свойства).
Задайте значение в различных форматах в зависимости от других значений. Например, размер кнопки в значениях, определяемых текущей настройкой ее Units
свойство.
Предоставьте стандартный интерфейс, где конкретное свойство используется или не используется, в зависимости от других значений. Например, различные компьютерные платформы могут иметь различные компоненты на панели инструментов).
Для примеров классов, которые используют зависимые свойства, смотрите Вычисление данных по требованию и Иерархия классов для разнородных массивов.