Пакет: 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);
Name - Имя свойстваИмя свойства, возвращаемое как вектор символов. The meta.property
Name свойство соответствует имени связанного свойства, заданному классом.
Типы данных: char
Description - В настоящее время не используетсяDescribes a MATLAB property (по умолчанию) | информацию из комментариев классаВ настоящее время не используется для сбора информации о классе из комментариев.
Типы данных: char
DetailedDescription - В настоящее время не используетсяВ настоящее время не используется для сбора информации о классе из комментариев.
Типы данных: char
GetAccess - Какой код может запросить значение свойстваpublic (по умолчанию) | protected | private | список meta.class объектыКакой код может запросить значение свойства, возвращаемое как одно из следующего:
public - неограниченный доступ
protected - доступ из класса или подклассов
private - доступ только для членов класса
Список классов, которым разрешен доступ к этому свойству. Задайте классы как meta.class объекты в форме:
Одно meta.class объект
Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.
Для получения дополнительной информации см. Раздел «Доступ для членов класса»
Пример: properties (GetAccess = protected)
Типы данных: enumerated | meta.class
SetAccess - Какой код может задать это свойствоpublic (по умолчанию) | protected | private | список meta.class объектыКакой код может задать это значение свойства, возвращаемое как одно из следующего:
public - неограниченный доступ
protected - доступ из класса или подклассов
private - доступ только для членов класса
immutable - свойство может быть задано только в конструкторе.
Для получения дополнительной информации см. «Изменяемые и неизменяемые свойства»
Перечислите классы, которым был задан доступ к этому свойству. Задайте классы как meta.class объекты в форме:
Одно meta.class объект
Массив ячеек meta.class объекты. Пустой массив ячеек, {}, то же, что и private доступ.
Смотрите доступ для членов класса
Пример: properties (SetAccess = protected)
Типы данных: enumerated | meta.class
Dependent - Зависит ли значение свойства от других значенийfalse (по умолчанию) | trueЗначение свойства зависит от других значений, возвращаемых как логическое true или false. Если false (по умолчанию), значение свойства сохранено в объекте. Если trueзначение свойства не сохранено в объекте, и набор и функции get не могут получить доступ к свойству путем индексации в объект с помощью имени свойства. Значение зависимого свойства зависит от некоторого другого значения. Зависимые свойства должны определять методы доступа. Для получения дополнительной информации смотрите Задать и получить методы для зависимых свойств.
Пример: properties (Dependent = true)
Типы данных: logical
Constant - Значение свойства константаfalse (по умолчанию) | trueЯвляется ли значение свойства постоянным, возвращается как логическое true или false. Если true, существует только одно значение для этого свойства во всех образцах класса.
Подклассы наследуют постоянные свойства, но не могут их изменить.
Constant свойства не могут быть Dependent
SetAccess игнорируется.
Смотрите Задать Свойства Класса с Постоянными Значениями
Пример: properties (Constant = true)
Типы данных: logical
Abstract - Абстрактно ли свойствоfalse (по умолчанию) | trueАбстрактно ли свойство, возвращается как логическое true или false. Если trueсвойство не имеет реализации, и класс является абстрактным.
Абстрактные свойства не могут задать набор или получить методы доступа. См. Методы доступа к свойствам
Абстрактные свойства не могут задать начальные значения. Назначение значения по умолчанию
Все подклассы должны задавать те же значения, что и суперкласс для свойства SetAccess и GetAccess атрибуты.
Abstract=true должен использоваться с атрибутом класса Sealed=false (значение по умолчанию).
Пример: properties (Abstract = true)
Типы данных: logical
Transient - Свойство, сохраненное вместе с объектомfalse (по умолчанию) | trueСвойство, сохраненное вместе с объектом, возвращается как логическое true или false. Если trueзначение свойства не сохраняется, когда объект сохранен в MAT файла. Дополнительные сведения о сохранении объектов см. в разделе Сохранение и загрузка процесса для объектов.
Пример: properties (Transient = true)
Типы данных: logical
Hidden - Свойство скрыто из списка свойствfalse (по умолчанию) | trueСвойство, скрытое из списка свойств, возвращается как логическое true или false. Hidden определяет, отображается ли свойство в списке свойств (например, Property Inspector, вызов properties, и т.д.). Скрытые свойства не отображаются в отображении объектов по умолчанию.
Пример: properties (Hidden = true)
Типы данных: logical
GetObservable - Могут ли прослушиватели получить свойство get eventsfalse (по умолчанию) | trueМогут ли прослушиватели получать свойство get events, возвращаемое как логическое true или false. Если true, и это свойство класса handle, тогда можно создать прослушиватели, которые выполняются при запросе значения свойства. MATLAB вызывает прослушиватели при каждом запросе значений свойств. Для получения дополнительной информации смотрите Набор свойств и События запроса.
Пример: properties (GetObservable = true)
Типы данных: logical
SetObservable - Могут ли прослушиватели получать события набора свойствfalse (по умолчанию) | trueМогут ли прослушиватели получать события набора свойств, возвращаемые как логические true или false. Если true, и это свойство класса handle, тогда можно создать прослушиватели, которые выполняются, когда задано значение свойства. MATLAB вызывает прослушиватели при каждом изменении значений свойств. Для получения дополнительной информации смотрите набор свойств и Query Events
Пример: properties (SetObservable = true)
Типы данных: logical
AbortSet - Задается ли свойство, если значение не измененоfalse (по умолчанию) | trueЯвляется ли набор свойств, если значение не изменилось, возвращенным как логическое true или false. Если true, затем установка значения свойства прекращается, если новое значение совпадает с текущим значением. Если свойство принадлежит классу handle, установка AbortSet на true препятствует срабатыванию свойства PreSet и PostSet события.
Пример: properties (AbortSet = true)
Типы данных: logical
NonCopyable - Свойство можно копироватьfalse (по умолчанию) | trueСвойство доступно для копирования, возвращается как логическое true или false. Задайте, копируется ли значение свойства при копировании объекта (handle только класс). По умолчанию копирование объекта указателя копирует конкретные свойства этого объекта. Для получения дополнительной информации см. «Исключить свойства из копирования».
Пример: properties (NonCopyable = true)
Типы данных: logical
PartialMatchPriority - Приоритет для частичного соответствия именПриоритет для частичного соответствия имен, возвращенный как числовое значение. Использование с подклассами matlab.mixin.SetGet для определения относительного приоритета частичных имен свойства, используемых в set и get аргументы метода. Значение по умолчанию является 1. Большие значения присваивают более низкие приоритеты.
Для получения дополнительной информации смотрите Задать приоритет для соответствия частичных Имен свойства.
Пример: properties (PartialNatchPriority = 2)
Типы данных: positive integer
GetMethod - Метод получения свойств[] (по умолчанию)Метод получения свойства, возвращенный как указатель на функцию или пустое значение. Указатель на функцию метода get, сопоставленного с этим свойством. Значение пустое, если в определении класса нет метода get. Для получения дополнительной информации см. Раздел «Методы получения свойств».
Типы данных: function_handle
SetMethod - Метод набора свойств[] (по умолчанию)Метод набора свойств, возвращенный как указатель на функцию или пустое значение. Указатель на функцию метода set, сопоставленного с этим свойством. Значение пустое, если в определении класса нет метода set. Для получения дополнительной информации см. Раздел «Методы набора свойств»
Типы данных: function_handle
HasDefault - Определяет ли свойство значение по умолчаниюfalse (по умолчанию) | trueСвойство определяет значение по умолчанию, возвращаемое как логическое true или false. Если trueсвойство определяет значение по умолчанию в определении класса. Тестирование HasDefault перед запросом DefaultValue свойство, чтобы избежать MATLAB:class:NoDefaultDefined ошибка.
Типы данных: logical
DefaultValue - Значение по умолчанию, заданное в определении классаЗначение по умолчанию, заданное в определении класса, возвращается как заданное значение. Абстрактные, зависимые и динамические свойства не могут задавать значения по умолчанию. Значения по умолчанию должны удовлетворять любой валидации, заданной для свойства. Для получения дополнительной информации о валидации свойств см. Раздел «Валидация значений свойств». Если в определении класса нет значения по умолчанию, MATLAB не отображает DefaultValue свойство.
Для свойств, которые не имеют значения по умолчанию, заданного в определении класса, попытка получить доступ к DefaultValue причина MATLAB:class:NoDefaultDefined ошибка. Используйте HasDefault свойство, чтобы определить, задает ли класс значение по умолчанию для свойства.
Пример: Prop = 7
Типы данных: any
Validation - Для свойства определена валидацияmeta.Validation (по умолчанию)Валидация, определенная для свойства, возвращается как meta.Validation объект. Это свойство содержит meta.Validation объект, описывающий валидацию, определенную этим свойством. Если свойство не задает валидацию, это свойство содержит пустое meta.Validation объект.
Типы данных: meta.Validation
DefiningClass - Класс, который определяет свойствоmeta.class (по умолчанию)Класс, который определяет свойство, возвращенный как meta.class объект. The meta.class объект представляет класс, который задает это свойство, которое может быть суперклассом.
Типы данных: meta.class
| Имя события | Спусковой механизм | Данные о событиях | Атрибуты события |
|---|---|---|---|
PreGet | Событие происходит непосредственно перед запросом значения свойства. | event.PropertyEvent |
|
PostGet | Событие происходит сразу после запроса значения свойства. | event.PropertyEvent |
|
PreSet | Событие происходит непосредственно перед изменением значения свойства. | event.PropertyEvent |
|
PostSet | Событие происходит сразу после изменения значения свойства. | event.PropertyEvent |
|
Можно использовать свойства meta.Property объект, чтобы определить, какие свойства класса доступны только для чтения.
Получите meta.class объект для класса с именем MyClass.
mc = ?MyClass;
Использование findobj для поиска списка meta.property объекты, содержащиеся в meta.class
PropertyListсвойство. Этот вызов для findobj возвращает имя свойств, доступных только для чтения.
findobj(mc.PropertyList,'GetAccess','public','-AND','-NOT','SetAccess','public').Name
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.