exponenta event banner

Как работает CustomDisplay

Действия по отображению объекта

При отображении объекта MATLAB ® определяет состояние объекта и вызывает соответствующий метод для этого состояния (см. Состояния объекта, влияющие на отображение ).

Например, предположим obj является допустимым скалярным объектом класса, производным от CustomDisplay. Если ввести obj в командной строке без завершения инструкции точкой с запятой:

>> obj

Следующая последовательность приводит к отображению obj:

  1. MATLAB определяет класс obj и вызывает disp для отображения объекта.

  2. disp требования size чтобы определить, obj скалярный или нескалярный

  3. Когда obj является скалярным объектом-дескриптором, disp требования isvalid чтобы определить, obj является дескриптором удаленного объекта. Удаленные дескрипторы в нескалярных массивах не влияют на отображение.

  4. disp вызывает метод обработчика состояния для объекта состояния obj. В этом случае obj - допустимый скаляр, который приводит к вызову:

    displayScalarObject(obj) 
  5. displayScalarObject вызывает методы построителя экранных элементов для предоставления соответствующих верхнего, нижнего и нижнего колонтитулов.

    ...
    header = getHeader(obj);
    disp(header)
    ...
    groups = getPropertyGroups(obj)
    displayPropertyGroups(obj,groups)
    ...
    footer = getFooter
    disp(footer)

MATLAB следует аналогичной последовательности для нескалярных массивов объектов и пустых массивов объектов.

В случае скалярных дескрипторов удаленных объектов disp вызывает displayScalarHandleToDeletedObject , который отображает текст по умолчанию для дескрипторов удаленных объектов без вызова каких-либо методов конструктора элементов.

Методы, вызываемые для заданного состояния объекта

Следующая диаграмма иллюстрирует методы, вызываемые для отображения объекта, производного от CustomDisplay. disp метод вызывает метод обработчика состояния, соответствующий состоянию отображаемого объекта или массива объектов.

Только экземпляр класса дескрипторов может находиться в состоянии скалярного дескриптора удаленного объекта.

Связанные темы