meta. Класс MetaData

Пакет: meta
Суперклассы: matlab.mixin.Heterogeneous

Суперкласс для метаданных объекта MATLAB

Описание

Класс meta.MetaData объектов представляет определения классов MATLAB® и составные части тех определений, такие как свойства и методы. Метаданные позволяют программе получить информацию об определении класса.

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

MATLAB использует экземпляры класса meta.MetaData как объект по умолчанию заполнить пропавших без вести элементов массива.

findobj и findprop, могут искать иерархию метаданных и возвратить массив различных объектов метаданных. Они функционируют, требуют способности сформировать разнородные массивы, содержащие различные объекты метакласса.

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

Конструкция

Вы не можете создать экземпляр класса meta.MetaData непосредственно. MATLAB создает экземпляры этого класса как требуется.

Примеры

Этот пример показывает, как класс meta.MetaData упрощает работу с метаклассами.

Создайте экземпляр meta.class, представляющий класс timeseries MATLAB:

>> mc = ?timeseries;

MATLAB использует объекты meta.MetaData заполнить элементы пустого массива:

>> m(2) = mc
>> class(m(1))

ans =

meta.MetaData
>> class(m(2))

ans =

meta.class

Используйте findobj, чтобы найти все свойства и методы, которые имеют защищенный доступ:

>> protectedMembers = findobj(mc,{'Access','protected'},...
'-or',{'SetAccess','protected'},...
'-or',{'GetAccess','protected'});

Класс timeseries задает и свойства и методы, которые имеют защищенный доступ. Поэтому findobj возвращает разнородный массив класса meta.MetaData. Этот массив содержит и meta.property и объекты meta.method.

>> protectedMembers

protectedMembers = 

  11x1 heterogeneous meta.MetaData (meta.property, meta.method) 
  handle with no properties.
  Package: meta
>> class(protectedMembers(1))

ans =

meta.property

>> protectedMembers(1).Name

ans =

Length
>> protectedMembers(1).SetAccess

ans =

protected
>> protectedMembers(1).GetAccess

ans =

public