Пакет: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.