Пакет: meta
Суперклассы: matlab.mixin.Heterogeneous
Суперкласс для метаданных объекта MATLAB
meta.MetaData класс объектов представляет определения классов MATLAB® и составные части тех определений, такие как свойства и методы. Метаданные позволяют программе получить информацию об определении класса.
meta.MetaData класс формирует корень иерархии классов метаданных, которая включает формирование массивов объектов метаданных, принадлежащих различным определенным классам.
MATLAB использует экземпляры meta.MetaData класс как объект по умолчанию заполнить пропавших без вести элементов массива.
findobj и findprop, может искать иерархию метаданных и возвратить массив различных объектов метаданных. Они функционируют, требуют способности сформировать разнородные массивы, содержащие различные объекты метакласса.
Смотрите matlab.mixin.Heterogeneous класс для получения дополнительной информации о неоднородных иерархиях.
Вы не можете создать экземпляр meta.MetaData классифицируйте непосредственно. MATLAB создает экземпляры этого класса как требуется.
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
В этом примере показано, как 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