Поскольку никто не упомянул об этом, в MATLAB также имеется функция metaclass
, которая возвращает объект с различными битами информации о переданном объекте. Эти meta.class
объекты могут быть полезны для тестов наследования (через общие операторы сравнения).
Например:
>> metaclass(magic(1))
ans =
class with properties:
Name: 'double'
Description: ''
DetailedDescription: ''
Hidden: 0
Sealed: 0
Abstract: 0
Enumeration: 0
ConstructOnLoad: 0
HandleCompatible: 0
InferiorClasses: {0×1 cell}
ContainingPackage: [0×0 meta.package]
RestrictsSubclassing: 0
PropertyList: [0×1 meta.property]
MethodList: [272×1 meta.method]
EventList: [0×1 meta.event]
EnumerationMemberList: [0×1 meta.EnumeratedValue]
SuperclassList: [0×1 meta.class]
>> ?containers.Map <= ?handle
ans =
logical
1
Мы можем видеть, что class(someObj)
эквивалентно полю Name
результата metaclass(someObj)
.