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

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

Существуют функции, которые 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

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

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

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

Похожие темы