Встроенные типы представляют фундаментальные виды данных, такие как числовые массивы, логические массивы и символьные массивы. Другие встроенные типы, такие как массивы и структуры ячеек, содержат данные, принадлежащие любому классу.
Встроенные типы определяют методы, выполняющие операции с объектами этих классов. Например, можно выполнять операции с цифровыми массивами, такими как сортировка, арифметические и логические операции.
Дополнительные сведения о встроенных классах MATLAB ® см. в разделе Основные классы MATLAB.
Примечание
Ошибка при определении класса с тем же именем, что и у встроенного класса.
Можно подкласс MATLAB числовых классов и logical класс. Список числовых типов см. в разделе Числовые типы.
Нельзя подкласс класса, который имеет Sealed атрибут имеет значение true. Чтобы определить, является ли класс Sealed, запрос метаданных класса:
mc = ?ClassName; mc.Sealed
Значение 0 указывает, что класс не является Sealed и могут быть подклассами.
Подкласс встроенного класса для расширения операций, которые можно выполнить с определенным классом данных. Например, если необходимо:
Для выполнения уникальных операций с данными класса.
Уметь использовать методы встроенного класса и другие встроенные функции непосредственно с объектами подкласса. Например, не нужно повторять все математические операторы, если вы производны от класса, такого как double который определяет эти операторы.
Рассмотрим класс, определяющий перечисления. Он может быть производным от целого класса и наследовать методы, позволяющие сравнивать и сортировать значения. Например, целочисленные классы, такие как int32 поддерживать все реляционные методы (eq, ge, gt, le, lt, ne).
Чтобы просмотреть список функций, унаследованных подклассом как методы, используйте methods функция:
methods('SubclassName')Как правило, объект подкласса можно использовать с любым:
Наследуемые методы
Функции, обычно принимающие входные аргументы того же класса, что и суперкласс.
При определении подкласса встроенного класса подкласс наследует все методы, определенные этим встроенным классом. MATLAB также предоставляет дополнительные методы подклассам встроенных классов, которые переопределяют несколько встроенных функций.
Встроенные функции и методы, работающие на встроенных классах, могут вести себя по-разному при вызове с подклассами встроенных классов. Их поведение зависит от того, какую функцию вы используете и определяет ли подкласс свойства.
При вызове унаследованного метода в подклассе встроенного класса результат зависит от характера операции, выполняемой методом. Поведение этих методов укладывается в несколько категорий.
Операции со значениями данных возвращают объекты суперкласса. Например, если используется подкласс double и выполнить сложение двух объектов подкласса, MATLAB добавляет числовые значения и возвращает значение класса double.
Операции с ориентацией или структурой объектов возврата данных подкласса. Методы, которые выполняют эти виды операций, включают в себя: reshape, permute, transposeи так далее.
Преобразование объекта подкласса во встроенный класс возвращает объект указанного класса. Функции, такие как uint32, double, char работать с объектами подкласса так же, как и со встроенными объектами.
Сравнение объектов или тестирование на включение в определенный набор возвращает логические или встроенные объекты в зависимости от функции. Функции, такие как isequal, ischar, isobject работать с объектами подкласса так же, как с объектами суперкласса.
Выражения индексирования возвращают объекты подкласса. Если подкласс определяет свойства, индексирование по умолчанию больше не работает. Подкласс должен определять собственные методы индексирования.
Конкатенация возвращает объект подкласса. Если подкласс определяет свойства, то конкатенация по умолчанию больше не работает, и подкласс должен определять собственные методы конкатенации.
Для вывода списка встроенных функций, работающих с подклассом встроенного класса, используйте methods функция.
Когда подкласс встроенного класса определяет свойства, MATLAB больше не поддерживает операции индексирования и конкатенации. MATLAB не может использовать встроенные функции, обычно вызываемые для этих операций, поскольку свойства подкласса могут содержать любые данные.
Подкласс должен определять, что означает индексирование и конкатенация для класса со свойствами. Если подкласс нуждается в функциональности индексирования и конкатенации, то подкласс должен реализовать соответствующие методы.
Для поддержки операций индексирования подкласс должен реализовать следующие методы:
Для поддержки конкатенации подкласс должен реализовать следующие методы: