exponenta event banner

класс meta.class

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

Описание класса MATLAB

Описание

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

Некоторые свойства meta.class объект содержит значения атрибутов класса, определенных в соответствующем классе MATLAB. Запрос этих свойств для получения информации, синтаксически заданной определением класса на classdef линия.

Другие свойства содержат списки свойств, методов и событий, определенных классом, а также другую информацию об определении класса.

Нельзя задать значения meta.class свойства объекта. Можно только запросить свойства.

Создать meta.class объект из экземпляра класса или с использованием имени класса с помощью следующих параметров:

  • metaclass(obj) - возвращает meta.class объект, представляющий объект, переданный в качестве аргумента.

  • ?ClassName - возвращает meta.class объект, представляющий именованный класс.

  • meta.class.fromName('ClassName') - статический метод возвращает meta.class объект, представляющий именованный класс.

Невозможно создать экземпляр meta.class непосредственно путем вызова его конструктора.

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

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

Abstract
true

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

Свойства

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

Значение абстрактного атрибута класса, возвращаемое как логическое значение. Значение этого свойства: true если класс или любое свойство или метод имеет Abstract атрибут имеет значение true. Сведения об абстрактных классах см. в разделе Абстрактные классы и члены классов.

Пример: classdef (Abstract = true) ...

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

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

Пример: classdef (ConstructOnLoad = true) ...

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

Пакет, содержащий класс, возвращенный как meta.package объект. Если класс отсутствует в пакете, это свойство содержит пустое meta.package объект. Дополнительные сведения о пакетах см. в разделе Пакеты: создание пространств имен.

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

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

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

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

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

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

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

Имя и скрытый статус для членов перечисления, возвращенные в виде массива meta.EnumeratedValue объекты. Доступ к Name и Hidden свойства соответствующего члена meta.EnumeratedValue объект для получения информации. Дополнительные сведения см. в разделе Перечисления.

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

События, определенные для класса, включая все унаследованные события, возвращаются в виде массива meta.event объекты. Только классы дескрипторов могут определять события, поэтому это свойство является пустым meta.event объект для классов значений. Все handle классы наследуют ObjectBeingDestroyed событие. Дополнительные сведения о событиях см. в разделе События.

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

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

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

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

Пример: classdef (InferiorClasses = {?ClassName1,?ClassName2}) ...

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

Методы, определенные для класса, возвращаемые как массив meta.method объекты. meta.method объекты описывают каждый метод, определенный этим классом, включая унаследованные общедоступные и защищенные методы. Дополнительные сведения о методах см. в разделе Методы в конструировании классов.

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

Имя класса, возвращаемое в виде символьного вектора. Имя класса, возвращаемое этим свойством, не включает пакеты, содержащие класс.

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

Свойства, определенные для класса, возвращаемые в виде массива meta.property объекты, описывающие каждое свойство, включая все унаследованные общедоступные и защищенные свойства. Дополнительные сведения о свойствах см. в разделе Свойства.

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

Ограничивает ли класс подклассирование, возвращаемое как логическое true или false. MATLAB устанавливает для этого атрибута значение true когда класс ограничивает подкласс:

  • Установка Sealed атрибут для true

  • Указание классов, которые могут подклассировать этот класс с помощью AllowedSubclasses признак

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

Пример: classdef (AllowedSubclasses = {?ClassName1,?ClassName2}) ...

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

Класс может быть подклассирован, возвращен как логическое значение. Если Sealed является true, этот класс не может быть подклассирован.

Пример: classdef (Sealed = true) ...

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

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

Пример: classdef MyClass < MySuperclass & MyMixin

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

Методы

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

События

Имя событияСпусковой механизмДанные о событииАтрибуты события
InstanceCreated

Это событие происходит каждый раз, когда экземпляр класса описывается meta.class создается.

Событие происходит сразу после завершения выполнения всех функций конструктора.

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

InstanceDestroyed

Это событие происходит каждый раз, когда экземпляр класса описывается meta.class разрушен.

Событие происходит непосредственно перед выполнением каких-либо функций деструктора.

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

Примеры

свернуть все

Поиск атрибутов свойств с помощью handle класс findobj метод и audioplayer meta.class объект. Определите, можно ли изменить SampleRate свойство в audioplayer объект.

Создание audioplayer объект.

load('handel.mat')
player = audioplayer(y,Fs);

Получить meta.class объект для audioplayer объект.

mc = metaclass(player);

Получить meta.property объект для SampleRate собственность.

mp = findobj(mc.PropertyList,'Name','SampleRate');

Используйте meta.property объект, чтобы определить, SampleRate свойство может быть изменено. Если SetAccess является public, установите SampleRate собственность.

if strcmp(mp.SetAccess,'public')
   player.SampleRate = 7200;
end
Представлен в R2008a