Существуют функции, которые MATLAB® вызывает неявно, когда вы выполняете определенные действия с объектами. Для примера такое заявление, как [B(1);A(3)]
осуществляют индексацию ссылки и вертикальную конкатенацию.
Можно изменить поведение пользовательских объектов путем определения методов, которые управляют конкретным поведением. Чтобы изменить поведение, реализуйте соответствующий метод с именем и подписью функции MATLAB.
В следующей таблице перечислены методы реализации для вашего класса и описаны поведения, которое они контролируют.
Метод класса для реализации | Описание |
---|---|
Конкатенация объектов | |
cat , horzcat , и vertcat | Настройте поведение при конкатенации объектов |
Создание пустых массивов | |
Создайте пустые массивы указанного класса. Смотрите пустые массивы | |
Отображение объектов | |
Вызывается при вводе Вызываются операторами, которые не оконечны точками с запятой. | |
Преобразование объектов в другие классы | |
Преобразуйте объект во встроенный класс MATLAB Смотрите Преобразователь Символов и Двойной Преобразователь | |
Объекты индексации | |
Позволяет вам создать нестандартную индексированную ссылку и индексированное назначение | |
Поддерживает Смотрите конец как индекс объекта | |
Определите количество элементов в массиве Смотрите Изменение nargout и nargin для Методов индексирования | |
Перегрузка, чтобы указать количество значений, возвращаемых из выражений индексации. | |
Определите размерности массива | |
Поддержка с использованием объекта в индексации выражений Смотрите объекты в индексных выражениях | |
Сохранение и загрузка объектов | |
loadobj и saveobj | Настройте поведение при загрузке и сохранении объектов Смотрите Сохранение и загрузку объекта |
Перестроить и переставить | |
Переставьте размерности N-D массива | |
Транспонирование вектора или матрицы | |
Комплексная сопряженная транспозиция | |
Перестроить массив | |
Репликация массива с заданными измерениями | |
Определите размер и форму | |
Определите, является ли вход скаляром | |
Определите, является ли вход вектором | |
Определите, является ли вход матрицей | |
Определите, пуст ли вход |
Перегрузка и переопределение являются терминами, которые описывают методы настройки поведения класса. Вот как мы используем эти термины в MATLAB.
Перегрузка означает, что существует несколько функций или методов, имеющих то же имя в одной возможности. MATLAB отправляет конкретную функцию или метод на основе доминирующего аргумента. Для примера, timeseries
класс перегружает MATLAB plot
функция. Когда вы звоните plot
с timeseries
MATLAB вызывает объект как входной параметр timeseries
метод класса с именем plot
.
Чтобы вызвать неперегруженную функцию, используйте builtin
функция.
Переопределение означает переопределение метода, унаследованного от суперкласса. MATLAB отправляет самую конкретную версию метода. То есть, если доминирующий аргумент является объектом подкласса, то MATLAB вызывает подкласс метода.
Чтобы контролировать доминирование классов, используйте InferiorClasses
атрибут.