metaclass

Retorna o objeto meta.class que descreve a classe de um objeto.

Categoria: Programming > Classes

Sintaxe

mc = metaclass(obj)

Retorna a descrição da classe de obj, que pode ser um valor interno ou um objeto.

Descrição

metaclass é a forma programática da sintaxe ?NomeDaClasse: dá acesso aos dados de reflexão de uma classe. Use mc.Name para o nome da classe, mc.SuperclassList para as superclasses diretas e as listas de propriedades e métodos para ver o que a classe define.

Como recebe uma instância, metaclass(x) sempre descreve class(x). Para partir apenas de um nome de classe, crie ou passe uma instância dessa classe.

Argumentos de entrada

obj
Qualquer valor. É descrita a classe dele, e não o valor.

Argumentos de saída

mc
Um objeto meta.class com propriedades como Name, SuperclassList, PropertyList, MethodList e HandleCompatible.

Exemplo

Inspecionando uma classe interna

mc = metaclass(containers.Map);
disp(mc.Name)
disp({mc.SuperclassList.Name})
disp(mc.HandleCompatible)
Saída
containers.Map
    {'handle'}
   1

Observações

Para classes internas, as listas de propriedades e métodos contêm os membros que o MatLivre conhece, então seus tamanhos podem diferir dos do MATLAB.

Veja também

superclasses methods properties class isa