Подклассы встроенных типов MATLAB

Встроенные типы MATLAB

Встроенные типы представляют основные виды данных, такие как числовые массивы, логические массивы и символьные массивы. Другие встроенные типы как массивы ячеек и структуры содержат данные, принадлежащие любому классу.

Встроенные типы задают методы, которые выполняют операции на объектах этих классов. Например, можно выполнить операции на числовых массивах такой как, сортировка, арифметика и логические операции.

Смотрите Основной принцип Классы 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перестановкаперемещение, и так далее.

  • Преобразование объекта подкласса к встроенному классу возвращает объект заданного класса. Функционирует, такие как uint32'double''char' работайте с объектами подкласса то же самое, как они работают со встроенными объектами.

  • Сравнение объектов или тестирование на включение в определенный набор возвращают логические или встроенные объекты, в зависимости от функции. Функционирует, такие как isequalischarisobject работайте с объектами подкласса то же самое, как они работают с объектами суперкласса.

  • Индексирующие выражения возвращают объекты подкласса. Если подкласс задает свойства, то индексация по умолчанию больше не работает. Подкласс должен задать свои собственные методы индексирования.

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

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

Встроенные подклассы, что Define Properties

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

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

Методы для индексации

Чтобы поддержать операции индексации, подкласс должен реализовать эти методы:

  • subsasgn — Реализуйте запись через точку и индексированные присвоения

  • subsref — Реализуйте запись через точку и индексированные ссылки

  • subsindex — Объект реализации как значение индекса

Методы для конкатенации

Чтобы поддержать конкатенацию, подкласс должен реализовать следующие методы:

  • horzcat — Реализуйте горизонтальную конкатенацию объектов

  • vertcat — Реализуйте вертикальную конкатенацию объектов

  • cat — Реализуйте конкатенацию массивов объектов в заданном измерении

Похожие темы