Встроенные типы представляют основные виды данных, такие как числовые массивы, логические массивы и символьные массивы. Другие встроенные типы как массивы ячеек и структуры содержат данные, принадлежащие любому классу.
Встроенные типы задают методы, которые выполняют операции на объектах этих классов. Например, можно выполнить операции на числовых массивах такой как, сортировка, арифметика и логические операции.
Смотрите Основной принцип Классы 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 не может использовать встроенные функции, обычно призывал к этим операциям, потому что свойства подкласса могут содержать любые данные.
Подкласс должен задать то, что индексация и конкатенация означает для класса со свойствами. Если ваша функциональность индексации и конкатенации потребностей подкласса, то подкласс должен реализовать соответствующие методы.
Чтобы поддержать операции индексации, подкласс должен реализовать эти методы:
Чтобы поддержать конкатенацию, подкласс должен реализовать следующие методы: