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

Как настроить поведение класса

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

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

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

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

Метод класса реализовать

Описание

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

cat, horzcat, и vertcat

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

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

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

empty

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

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

disp

display

Названный, когда вы вводите disp(obj) на командной строке

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

Смотрите Перегрузку функции disp

См. Пользовательский интерфейс CustomDisplay

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

конвертеры как double и char

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

Смотрите символьный конвертер и двойной конвертер

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

subsref и subsasgn

Позволяет вам создать нестандартную индексируемую ссылку и индексированное присвоение

Смотрите, что объектный массив индексирует

end

Поддержки end синтаксис в индексации выражений с помощью объекта; например, A(1:end)

Смотрите конец как Индекс объекта

numel

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

Смотрите Изменяют nargout и nargin для Методов индексирования

numArgumentsFromSubscript

Перегрузка, чтобы задать количество значений, чтобы возвратиться из индексации выражений.

Смотрите Количество Аргументов для subsref и subsasgn

size

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

Смотрите Использование размера и numel с Классами

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 атрибут.

Похожие темы