exponenta event banner

класс meta.property

Пакет: мета
Суперклассы: meta.MetaData

Описание свойства класса MATLAB

Описание

meta.property содержит информацию о свойствах классов MATLAB ®. Свойства meta.property содержит значения атрибутов свойств и другую информацию, которая синтаксически указана в определении класса. Все свойства доступны только для чтения.

meta.property класс является handle класс.

Атрибуты класса

Abstract
true
ConstructOnLoad
true

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Создание

Невозможно создать экземпляр meta.property непосредственно объект. Получить meta.property объект из meta.class PropertyList свойство, которое содержит массив meta.property объекты, по одному для каждого свойства класса. Например, заменить ClassName с именем класса, свойства которого требуется запросить:

mco = ?ClassName;
plist = mco.PropertyList;
mp = plist(1); % meta.property for first property in list

Используйте metaclass для получения функции meta.class объект из экземпляра класса:

mco = metaclass(obj);

Свойства

развернуть все

Имя свойства, возвращаемое в виде символьного вектора. meta.property Name соответствует имени связанного свойства, определенного классом.

Типы данных: char

В настоящее время не используется для сбора информации о классе из комментариев.

Типы данных: char

В настоящее время не используется для сбора информации о классе из комментариев.

Типы данных: char

Какой код может запрашивать значение свойства, возвращаемое как одно из следующих значений:

public - неограниченный доступ

protected - доступ из класса или подклассов

private - доступ только для членов класса

Список классов, которым разрешен доступ к этому свойству. Укажите классы как meta.class объекты в форме:

  • Сингл meta.class объект

  • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, совпадает с private доступ.

Дополнительные сведения см. в разделе Доступ к членам класса

Пример: properties (GetAccess = protected)

Типы данных: enumerated | meta.class

Какой код может установить это значение свойства, возвращаемое как одно из следующих значений:

public - неограниченный доступ

protected - доступ из класса или подклассов

private - доступ только для членов класса

immutable - свойство может быть задано только в конструкторе.

Дополнительные сведения см. в разделе Изменяемые и неизменяемые свойства

Список классов, для которых задан доступ к этому свойству. Укажите классы как meta.class объекты в форме:

  • Сингл meta.class объект

  • Массив ячеек meta.class объекты. Пустой массив ячеек, {}, совпадает с private доступ.

См. раздел Доступ к членам класса

Пример: properties (SetAccess = protected)

Типы данных: enumerated | meta.class

Зависит ли значение свойства от других значений, возвращаемых как логические true или false. Если false (значение по умолчанию), значение свойства сохраняется в объекте. Если true, значение свойства не хранится в объекте, и функции set и get не могут получить доступ к свойству путем индексирования в объект с использованием имени свойства. Значение зависимого свойства зависит от другого значения. Зависимые свойства должны определять методы доступа. Дополнительные сведения см. в разделе Задание и получение методов для зависимых свойств.

Пример: properties (Dependent = true)

Типы данных: logical

Константа значения свойства, возвращенная как логическая true или false. Если true, для этого свойства существует только одно значение во всех экземплярах класса.

  • Подклассы наследуют свойства констант, но не могут их изменить.

  • Constant свойства не могут быть Dependent

  • SetAccess игнорируется.

См. раздел Определение свойств класса с постоянными значениями

Пример: properties (Constant = true)

Типы данных: logical

Абстрактно ли свойство, возвращается как логическое true или false. Если true, свойство не имеет реализации, а класс является абстрактным.

  • Абстрактные свойства не могут определять методы набора или получения доступа. См. Методы доступа к свойствам

  • Абстрактные свойства не могут определять начальные значения. Назначение значения по умолчанию

  • Все подклассы должны указывать те же значения, что и суперкласс для свойства SetAccess и GetAccess атрибуты.

  • Abstract=true должен использоваться с атрибутом класса Sealed=false (значение по умолчанию).

Пример: properties (Abstract = true)

Типы данных: logical

Свойство, сохраненное вместе с объектом, возвращено как логическое true или false. Если trueзначение свойства не сохраняется при сохранении объекта в MAT-файле. Дополнительные сведения о сохранении объектов см. в разделе Сохранение и загрузка процесса для объектов.

Пример: properties (Transient = true)

Типы данных: logical

Свойство, скрытое из списка свойств, возвращенное как логическое true или false. Hidden определяет, отображается ли свойство в списке свойств (например, инспектор свойств, вызов propertiesи т.д.). Скрытые свойства не отображаются в отображении объекта по умолчанию.

Пример: properties (Hidden = true)

Типы данных: logical

Могут ли прослушиватели получать события получения свойств, возвращенные как логические true или false. Если true, и это свойство класса дескриптора, то можно создать прослушиватели, которые выполняются при запросе значения свойства. MATLAB вызывает прослушиватели при каждом запросе значений свойств. Дополнительные сведения см. в разделе События набора свойств и запроса.

Пример: properties (GetObservable = true)

Типы данных: logical

Могут ли прослушиватели получать события набора свойств, возвращенные как логические true или false. Если true, и это свойство класса дескриптора, то можно создать прослушиватели, которые будут выполняться при установке значения свойства. MATLAB вызывает прослушиватели при каждом изменении значений свойств. Дополнительные сведения см. в разделе События набора свойств и запроса

Пример: properties (SetObservable = true)

Типы данных: logical

Установлено ли свойство, если значение не изменилось, возвращено как логическое true или false. Если true, то установка значения свойства прерывается, если новое значение совпадает с текущим значением. Если свойство принадлежит классу дескрипторов, установка AbortSet кому true предотвращает срабатывание свойства PreSet и PostSet события.

Пример: properties (AbortSet = true)

Типы данных: logical

Копируется ли свойство, возвращается как логическое true или false. Укажите, копируется ли значение свойства при копировании объекта (handle только класс). По умолчанию при копировании объекта-дескриптора копируются конкретные свойства этого объекта. Дополнительные сведения см. в разделе Исключение свойств из копии.

Пример: properties (NonCopyable = true)

Типы данных: logical

Приоритет для частичного сопоставления имен, возвращаемый в виде числового значения. Использование с подклассами matlab.mixin.SetGet для определения относительного приоритета совпадений имен частичных свойств, используемых в set и get аргументы метода. Значение по умолчанию - 1. Более высокие значения назначают более низкие приоритеты.

Дополнительные сведения см. в разделе Установка приоритета для сопоставления имен частичных свойств.

Пример: properties (PartialNatchPriority = 2)

Типы данных: positive integer

Метод получения свойства, возвращаемый как дескриптор функции или пустое значение. Дескриптор функции метода get, связанного с этим свойством. Значение пусто, если в определении класса не указан метод get. Дополнительные сведения см. в разделе Методы получения свойств.

Типы данных: function_handle

Метод набора свойств, возвращаемый как дескриптор функции или пустое значение. Дескриптор функции метода set, связанного с этим свойством. Значение пусто, если в определении класса не указан метод set. Дополнительные сведения см. в разделе Методы набора свойств

Типы данных: function_handle

Определяет ли свойство значение по умолчанию, возвращаемое как логическое true или false. Если true, свойство определяет значение по умолчанию в определении класса. Тест HasDefault перед запросом DefaultValue свойство, чтобы избежать MATLAB:class:NoDefaultDefined ошибка.

Типы данных: logical

Значение по умолчанию, указанное в определении класса, возвращаемое как указанное значение. Абстрактные, зависимые и динамические свойства не могут задавать значения по умолчанию. Значения по умолчанию должны соответствовать любой проверке, указанной для свойства. Дополнительные сведения о проверке свойств см. в разделе Проверка значений свойств. Если в определении класса нет значения по умолчанию, MATLAB не отображает DefaultValue собственность.

Для свойств, не имеющих значения по умолчанию, указанного в определении класса, попытка доступа DefaultValue причина a MATLAB:class:NoDefaultDefined ошибка. Используйте HasDefault , чтобы определить, определяет ли класс значение по умолчанию для свойства.

Пример: Prop = 7

Типы данных: any

Проверка, определенная для свойства, возвращенного как meta.Validation объект. Это свойство содержит meta.Validation объект, описывающий проверку, определенную этим свойством. Если свойство не определяет проверку, это свойство содержит пустое meta.Validation объект.

Типы данных: meta.Validation

Класс, определяющий свойство, возвращаемое как meta.class объект. meta.class объект представляет класс, определяющий это свойство, которое может быть суперклассом.

Типы данных: meta.class

События

Имя событияСпусковой механизмДанные о событииАтрибуты события
PreGetСобытие происходит непосредственно перед запросом значения свойства.event.PropertyEvent

NotifyAccess: private

ListenAccess: public

PostGetСобытие происходит сразу после запроса значения свойства.event.PropertyEvent

NotifyAccess: private

ListenAccess: public

PreSetСобытие происходит непосредственно перед изменением значения свойства.event.PropertyEvent

NotifyAccess: private

ListenAccess: public

PostSetСобытие происходит сразу после изменения значения свойства.event.PropertyEvent

NotifyAccess: private

ListenAccess: public

Примеры

свернуть все

Можно использовать свойства meta.Property для определения свойств класса, доступных только для чтения.

Получить meta.class объект для класса с именем MyClass.

mc = ?MyClass;

Использовать findobj для поиска по списку meta.property объекты, содержащиеся в meta.class PropertyListсобственность. Этот вызов для findobj возвращает имя свойств, доступных только для чтения.

findobj(mc.PropertyList,'GetAccess','public','-AND','-NOT','SetAccess','public').Name
Представлен в R2008a