класс

Определите класс объекта

Синтаксис

ClassName = класс (объект)
obj = класс (s, 'class_name')
obj = класс (s, 'class_name', parent1, parent2...)
obj = класс (struct ([]), 'class_name', parent1, parent2...)
obj_struct = класс (struct_array, 'class_name', parent_array)

Описание

ClassName = class(object) возвращает вектор символа, задающий класс object. Смотрите Основной принцип Классы MATLAB для получения дополнительной информации о классах MATLAB®.

Примечание

Перед MATLAB 7.6 (классы, заданные без оператора classdef), конструкторы класса вызвали функцию class, чтобы создать объект. Следующие синтаксисы функций class применяются только в классах, заданных перед Версией 7.6.

obj = class(s,'class_name') создает массив класса объекты class_name с помощью s struct в качестве шаблона, чтобы определить размер obj.

obj = class(s,'class_name',parent1,parent2,...) наследовал методы и поля родительских объектов parent1, parent2, и так далее. Размер родительских объектов должен совпадать с размером s или быть скаляром (1 на 1), в этом случае MATLAB выполняет скалярное расширение.

obj = class(struct([]),'class_name',parent1,parent2,...) создает объект, содержащий только поля, которые он наследовал от родительских объектов. Все родительские элементы должны иметь то же самое, ненулевой размер, который определяет размер возвращенного объекта obj.

obj_struct = class(struct_array,'class_name',parent_array) сопоставляет каждый элемент parent_array к соответствующему элементу в struct_array, чтобы произвести выходной массив объектов, obj_struct.

Все массивы должны быть одного размера. Если или struct_array или parent_array имеют размер 1 на 1, то MATLAB выполняет скалярное расширение, чтобы совпадать с размерами массивов.

Чтобы создать объектный массив размера 0 на 0, установите размер struct_array и parent_array к 0 на 0.

Примеры

Возвратите класс объекта obj Java®:

import java.lang.*;
obj = String('mystring');
disp(class(obj))
java.lang.String

Возвратите класс любой переменной MATLAB:

h = @sin;
disp(class(h))
function_handle

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a

Была ли эта тема полезной?