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

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

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

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

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

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

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

Описание

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

cat, horzcat и vertcat

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

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

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

пустой

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

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

disp

отображение

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

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

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

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

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

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

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

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

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

subsref и subsasgn

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

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

конец

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

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

numel

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

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

numArgumentsFromSubscript

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

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

размер

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

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

subsindex

Поддержка с помощью объекта в индексации выражений

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

Сохранение и загружаемые объекты

loadobj и saveobj

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

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

Изменение и реконструкция

перестановка

Перестройте размерности массива N-D

перемещение

Транспонируйте вектор или матрицу

ctranspose,'

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

изменение

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

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

isscalar

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

isvector

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

ismatrix

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

isempty

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

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

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

Перегрузка

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

Чтобы вызвать неперегруженную функцию, используйте функцию builtin.

Переопределение

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

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

Похожие темы

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