MATLAB® отображает информацию в командном окне, когда оператор, который не завершен точкой с запятой, возвращает переменную. Для примера этот оператор создает структуру с полем, содержащим число 7.
a.field1 = 7
MATLAB отображает имя переменной, класс и значение.
a = struct with fields: field1: 7
MATLAB предоставляет определяемые пользователем классы с аналогичными функциями отображения. Пользовательские классы могут настраивать отображение объектов класса MATLAB с помощью API, предоставляемого matlab.mixin.CustomDisplay
класс. Чтобы использовать этот API, выведите свой класс из matlab.mixin.CustomDisplay
.
MATLAB добавляет методы по умолчанию с именем disp
и display
ко всем классам MATLAB, которые не реализуют свои собственные методы с этими именами. Эти методы не видны, но создают простое отображение по умолчанию.
Простое отображение по умолчанию состоит из следующих частей:
Заголовок с именем класса и размерностями для нескалярных массивов.
Список всех нескрываемых общественной собственности, показанный в порядке определения в классе.
Фактическое отображение зависит от того, является ли объект скаляром или нескаляром. Кроме того, существуют специальные отображения для скалярного указателя на удаленный объект и пустые объектные массивы. Объекты во всех этих состояниях отображаются по-разному, если объекты не имеют свойств.
details
функция создает детальное отображение по умолчанию. Подробное отображение добавляет эти элементы к простому отображению:
Использование полных имен классов
Ссылка на handle
класс, если объект является указателем
Ссылки на methods
, events
, и superclasses
функций, выполняемых на объекте.
Класс в MATLAB см. в разделе «Класс с отображением объектов по умолчанию».
MATLAB отображает свойства объектов, которые имеют открытый доступ и не скрыты (см. «Атрибуты свойств»). Унаследованные абстрактные свойства исключаются из отображения. Когда отображаемый объект скаляром, также включаются любые динамические свойства, присоединенные к объекту.
The matlab.mixin.CustomDisplay
класс предоставляет интерфейс, который можно использовать для настройки отображения объектов для вашего класса. Чтобы использовать этот интерфейс, выведите класс из CustomDisplay
:
classdef MyClass < matlab.mixin.CustomDisplay
The CustomDisplay
класс HandleCompatible
, так что вы можете использовать его в комбинации с значениями и указателя.
Примечание
Вы не можете использовать matlab.mixin.CustomDisplay
для вывода пользовательского отображения для классов перечисления.
The CustomDisplay
интерфейс не позволяет вам переопределить disp
, display
, и details
. Вместо этого переопределите любую комбинацию методов индивидуальной настройки, определенных для этой цели.
Существует две группы методов, которые используются для настройки отображения объектов для вашего класса:
Part builder methods строки, используемые для стандартного отображения. Переопределите любой из этих методов, чтобы изменить соответствующие части отображения.
State handler methods вызываются для объектов в определенных состояниях, таких как скаляр, нескаляр и так далее. Переопределите любой из этих методов, чтобы обработать объекты в определенном состоянии.
Все эти методы имеют защищенный доступ и должны быть определены как защищенные в вашем подклассе CustomDisplay
(то есть Access = protected
).
Существует три части, которые составляют отображение стандартного объекта - заголовок, список свойств и нижний колонтитул
Например, вот стандартное отображение объектов для containers.Map
объект:
Отображение объектов по умолчанию не включает нижний колонтитул. Подробное отображение предоставляет дополнительную информацию:
Можно настроить, как MATLAB отображений объекты в результате выражений, которые отображают объекты в командном окне, таких как неотключенные операторы, которые возврат объекты или вызовы disp
и display
. Результаты, отображаемые при вызове details
на объекте или объектном массиве не изменяются CustomDisplay
API.
Каждая часть отображения объекта имеет связанный метод, который собирает соответствующую часть изображения.
Метод | Цель | Дефолт |
---|---|---|
| Создайте текст, используемый для заголовка. | Возвращает |
| Определите, как и какие свойства отображаются, включая порядок, значения и группировку. | Возвращает массив |
| Создайте текст, используемый для нижнего колонтитула. | Существует два нижнего колонтитула:
|
Существует четыре состояния объектов, которые влияют на отображения объектов MATLAB:
Допустимый скалярный объект
Нескалярный объектный массив
Пустой объектный массив
Скалярный указатель на удаленный объект
Каждое состояние объекта имеет связанный метод, который MATLAB вызывает каждый раз, когда отображаются объекты, которые находятся в этом конкретном состоянии.
Метод обработчика состояний | Вызывается объект в этом состоянии |
---|---|
displayScalarObject |
|
displayNonScalarObject |
|
displayEmptyObject |
|
displayScalarHandleToDeletedObject |
|
The CustomDisplay
класс предоставляет служебные методы, которые возвращают строки, используемые в различных частях различных параметров отображения. Эти статические методы возвращают текст, который упрощает создание пользовательских отображений объектов.
Если отображение компьютера не поддерживает гипертекстовую привязку, строки возвращаются без ссылок.
Метод | Исходные данные | Выходы |
---|---|---|
Допустимый объектный массив | Размерности объекта, преобразованные в | |
| Отображает заголовки и группы свойств, определенные | |
Объект | Простое имя класса, связанное с документацией объекта | |
Ничего | Текстовое | |
Объект | Текст, содержащий фразу | |
Объект | Текст, содержащий связанное имя класса, ссылку на страницу handle (если класс handle) и | |
Ничего | Текстовое | |
Объект | Текст, содержащий связанное имя класса и фразу |