Пакет: 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