meta.property class

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

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

Описание

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

The 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);

Свойства

расширить все

Имя свойства, возвращаемое как вектор символов. The 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значение свойства не сохранено в объекте, и набор и функции 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 определяет, отображается ли свойство в списке свойств (например, Property Inspector, вызов properties, и т.д.). Скрытые свойства не отображаются в отображении объектов по умолчанию.

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

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

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

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

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

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

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

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

Является ли набор свойств, если значение не изменилось, возвращенным как логическое true или false. Если true, затем установка значения свойства прекращается, если новое значение совпадает с текущим значением. Если свойство принадлежит классу handle, установка 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 причина MATLAB:class:NoDefaultDefined ошибка. Используйте HasDefault свойство, чтобы определить, задает ли класс значение по умолчанию для свойства.

Пример: Prop = 7

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

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

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

Класс, который определяет свойство, возвращенный как meta.class объект. The 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