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