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