meta.class

Опишите класс MATLAB

Описание

Экземпляры meta.class класс содержит информацию о классах MATLAB®. Свойства чтения/записи meta.class класс соответствует атрибутам класса и установлен только из определений классов на classdef строка. Можно запросить свойства только для чтения meta.class объект получить информацию, которая указана синтаксически классом (например, чтобы получить имя класса).

Вы не можете инстанцировать meta.class возразите непосредственно. Можно создать meta.class объект от экземпляра класса или использования имени класса:

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

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

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

Например, metaclass функция возвращает meta.class объект, представляющий MyClass.

ob = MyClass;
obmeta = metaclass(ob);
obmeta.Name
ans =
MyClass

Можно использовать имя класса, чтобы получить meta.class объект:

obmeta = ?MyClass;

Можно также использовать fromName статический метод:

obmeta = meta.class.fromName('MyClass');

Свойства

СвойствоЦель

Abstract атрибут, значение по умолчанию = false

Если true, этот класс является абстрактным классом (не может быть инстанцирован).

Для получения дополнительной информации см. Абстрактные классы.

ConstructOnLoad атрибут, значение по умолчанию = false

Если true, MATLAB вызывает конструктора класса автоматически при загрузке объекта из MAT-файла. Поэтому конструкция должна быть реализована так, чтобы вызов ее без аргументов не производил ошибку.

Смотрите сохраняют и загружают процесс для объектов

ContainingPackage только для чтения

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

Смотрите, что пакеты создают пространства имен.

Description только для чтения

В настоящее время не используемый.

DetailedDescription только для чтения

В настоящее время не используемый.

Enumeration атрибут, значение по умолчанию = false

Если true, этот класс является классом перечисления. Смотрите Задают Классы Перечисления.

EventList только для чтения

Массив meta.event объекты, описывающие каждое событие, заданное этим классом, включая все наследованные события.

См. События.

EnumerationMemberList

Массив meta.EnumeratedValue объекты, описывающие имена элемента, заданы классом перечисления.

Смотрите Перечисления для получения дополнительной информации о классах перечисления.

Hidden атрибут, значение по умолчанию = falseЕсли установлено в true, класс не появляется в выходе команд MATLAB или инструментов то отображение имена классов.
InferiorClasses атрибут, значение по умолчанию = {}

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

Смотрите приоритет класса

MethodList только для чтения

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

См. методы в проекте класса.

Name только для чтенияИмя класса сопоставлено с этим meta.class объект (char массив
PropertyList только для чтения

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

См. Свойства.

RestrictsSubclassing только для чтения

Если классом не является Sealed и имеет пустой список AllowedSubclasses в определении класса это свойство установлено в false. Если классом является Sealed или задает любой AllowedSubclasses, это свойство установлено в true.

См. Установку допустимых подклассов.

Sealed атрибут, значение по умолчанию = false

Если true, класс не может быть разделен на подклассы.

SuperclassList только для чтения

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

См. конструкторов подкласса проекта.

Методы

МетодЦель
fromNameВозвращает meta.class объект сопоставлен с заданным именем класса.
tf = eq(Cls)Функция равенства (a == b). Используйте для теста, если две переменные относятся, чтобы равняться классам (классы, которые содержат точно тот же список элементов).
tf = ne(Cls)Не равняются функции (a ~= b). Используйте для теста, если две переменные относятся к различным метаклассам.
tf = lt(ClsA,ClsB)Меньше, чем функция (ClsA < ClsB). Используйте, чтобы определить если ClsA строгий подкласс ClsB (т.е. строгий подкласс означает ClsX < ClsX false).
tf = le(ClsA,ClsB)Меньше чем или равный функции (ClsA <= ClsB). Используйте, чтобы определить если ClsA подкласс ClsB.
tf = gt(ClsA,ClsB)Больше, чем функция (ClsA > ClsB). Используйте, чтобы определить если ClsA строгий суперкласс ClsB (т.е. строгий суперкласс означает ClsX > ClsX false).
tf = ge(ClsA,ClsB)Больше, чем или равный функции (ClsA >= ClsB). Используйте, чтобы определить если ClsA суперкласс ClsB.

События

СобытиеЦель

InstanceCreated

Если класс является классом Handle, это событие имеет место каждый раз, когда новый экземпляр этого класса Handle создается, включая новые экземпляры любых подклассов. Событие сразу имеет место после того, как все функции конструктора закончили выполняться.

InstanceDestroyed

Если класс является классом Handle, это событие имеет место каждый раз, когда экземпляр этого класса Handle уничтожается, включая все подклассы. Событие сразу имеет место, прежде чем любые функции деструктора выполняются.

Примеры

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

load('handel.mat')
player = audioplayer(y,Fs);
mc = metaclass(player);
mp = findobj(mc.PropertyList,'Name','SampleRate');
if strcmp(mp.SetAccess,'public')
   player.SampleRate = 7200;
end