meta.class class

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

Описание

The 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 объект непосредственно путем вызова его конструктора.

The 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 объекты. Только классы handle могут определять события, поэтому это свойство является пустым meta.event объект для классов значений. Все handle классы наследуют ObjectBeingDestroyed событие. Дополнительные сведения о событиях см. в разделе События.

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

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

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

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

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

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

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