При отображении объекта MATLAB ® определяет состояние объекта и вызывает соответствующий метод для этого состояния (см. Состояния объекта, влияющие на отображение ).
Например, предположим obj является допустимым скалярным объектом класса, производным от CustomDisplay. Если ввести obj в командной строке без завершения инструкции точкой с запятой:
>> obj
Следующая последовательность приводит к отображению obj:
MATLAB определяет класс obj и вызывает disp для отображения объекта.
disp требования size чтобы определить, obj скалярный или нескалярный
Когда obj является скалярным объектом-дескриптором, disp требования isvalid чтобы определить, obj является дескриптором удаленного объекта. Удаленные дескрипторы в нескалярных массивах не влияют на отображение.
disp вызывает метод обработчика состояния для объекта состояния obj. В этом случае obj - допустимый скаляр, который приводит к вызову:
displayScalarObject(obj)
displayScalarObject вызывает методы построителя экранных элементов для предоставления соответствующих верхнего, нижнего и нижнего колонтитулов.
... header = getHeader(obj); disp(header) ... groups = getPropertyGroups(obj) displayPropertyGroups(obj,groups) ... footer = getFooter disp(footer)
MATLAB следует аналогичной последовательности для нескалярных массивов объектов и пустых массивов объектов.
В случае скалярных дескрипторов удаленных объектов disp вызывает displayScalarHandleToDeletedObject , который отображает текст по умолчанию для дескрипторов удаленных объектов без вызова каких-либо методов конструктора элементов.
Следующая диаграмма иллюстрирует методы, вызываемые для отображения объекта, производного от CustomDisplay. disp метод вызывает метод обработчика состояния, соответствующий состоянию отображаемого объекта или массива объектов.
Только экземпляр класса дескрипторов может находиться в состоянии скалярного дескриптора удаленного объекта.
