Создание класса или объекта. Проверка принадлежности объекта к заданному классу.
Для создания класса объектов или объектов, а также для их идентификации служит функция class. Формы ее применения представлены ниже.
- class (OBJ) – возвращает класс указанного объекта OBJ. Типы стандартных классов double, sparse, char, cell, struct, functionjiandle были перечислены выше.
- int8 – 8-разрядный массив целых чисел со знаком;
- uint8 – 8-разрядный массив целых чисел без знака;
- int16 – 16-разрядный массив целых чисел со знаком;
- uint16 – 16-разрядный массив целых чисел без знака;
- int32 – 32-разрядный массив целых чисел со знаком;
- uint32 – 32-разрядный массив целых чисел без знака;
- <class_name> – класс, определенный пользователем;
- <java_class> – имя класса Ява;
- OBJ=class(S, 'classjiame',PARENT1,PARENT2….) – создает объект класса 'classname' на базе структуры S и родительских объектов PARENT1, PARENT2,… При этом создаваемый объект наследует структуру и поля родительских объектов. Объекту OBJ в данном случае присуще множественное наследование;
- OBJ=class(struct[ ]. 'classjiame'.PARENT1.PARENT2,…) – не может иметь никаких полей, кроме унаследованных от родительских объектов.
Обратите внимание на то, что эта функция обычно используется в составе m-файлов конструкторов классов объектов.
Проверка принадлежности объекта к заданному классу
Для контроля принадлежности заданного объекта к некоторому классу служит функция isa:
- isa(OBJ. 'Имя_класса') – возвращает логическую 1, если OBJ принадлежит классу с указанным именем, но не обнаруживает класс logical, нужно использовать функцию islogical, чтобы проверить принадлежность к этому классу. Дополнительно к вышеописанным выделяют классы numeric и single.
Примеры применения этой функции:
>
>
X
=
[
1
2
3
];
>
>
isa(X,
'char'
)
ans
=
0
>
>
isa(X,
'double'
)
ans
=
1