exponenta event banner

Методы, изменяющие поведение по умолчанию

Настройка поведения класса

Существуют функции, которые MATLAB ® вызывает неявно при выполнении определенных действий с объектами. Например, оператор типа [B(1);A(3)] включает индексированную опорную и вертикальную конкатенацию.

Можно изменить поведение пользовательских объектов, определив методы, управляющие определенным поведением. Чтобы изменить поведение, реализуйте соответствующий метод с именем и сигнатурой функции MATLAB.

Какие методы управляют поведением

В следующей таблице перечислены методы, реализуемые для вашего класса, и описано поведение, которым они управляют.

Реализуемый метод класса

Описание

Конкатенация объектов

cat, horzcat, и vertcat

Настройка поведения при конкатенации объектов

См. подклассы встроенных типов со свойствами

Создание пустых массивов

empty

Создание пустых массивов указанного класса. См. раздел Пустые массивы

Отображение объектов

disp

display

Вызывается при вводе disp(obj) в командной строке

Вызывается инструкциями, которые не заканчиваются точкой с запятой. disp часто используется для реализации display методы.

См. раздел Перегрузка функции DISP

См. раздел Пользовательский интерфейс отображения

Преобразование объектов в другие классы

преобразователи, такие как double и char

Преобразование объекта во встроенный класс MATLAB

См. Конвертер символов и двойной конвертер

Индексирование объектов

subsref и subsasgn

Позволяет создавать нестандартные индексированные ссылки и индексированные назначения

См. раздел Индексирование массива объектов

end

Поддержки end синтаксис в выражениях индексирования с использованием объекта; например, A(1:end)

Увидеть конец как индекс объекта

numel

Определение количества элементов в массиве

Методы индексирования см. в разделах Изменение параметров nargout и nargin

numArgumentsFromSubscript

Перегрузка для указания количества значений, возвращаемых из выражений индексирования.

См. раздел Количество аргументов для вложенных ссылок и вложенных ссылок

size

Определение размеров массива

См. Использование размера и номера с классами

subsindex

Поддержка использования объекта в выражениях индексирования

См. Объекты в индексных выражениях

Сохранение и загрузка объектов

loadobj и saveobj

Настройка поведения при загрузке и сохранении объектов

См. раздел Сохранение и загрузка объектов

Переформатировать и переупорядочить

permute

Перегруппировка размеров массива N-D

transpose

Перенос вектора или матрицы

ctranspose

Комплексное сопряженное транспонирование

reshape

Изменить форму массива

repmat

Реплицировать массив вдоль указанных размеров

Определение размера и формы

isscalar

Определите, является ли ввод скаляром

isvector

Определите, является ли ввод вектором

ismatrix

Определите, является ли ввод матрицей

isempty

Определите, пусты ли входные данные

Функции перегрузки и методы переопределения

Перегрузка и переопределение - это термины, описывающие методы настройки поведения класса. Вот как мы используем эти термины в MATLAB.

Перегрузка

Перегрузка означает, что в одной области действия имеется несколько функций или методов с одинаковыми именами. MATLAB отправляет определенной функции или методу на основе доминирующего аргумента. Например, timeseries класс перегружает MATLAB plot функция. При звонке plot с timeseries объект в качестве входного аргумента, MATLAB вызывает timeseries метод класса с именем plot.

Для вызова незагруженной функции используйте builtin функция.

Отвержение

Переопределение означает переопределение метода, унаследованного от суперкласса. MATLAB отправляет в наиболее конкретную версию метода. То есть, если доминирующий аргумент является объектом подкласса, то MATLAB вызывает метод подкласса.

Для управления доминированием класса используйте InferiorClasses атрибут.

Связанные темы