Как работает 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 вызывает методы display part-builder, чтобы предоставить соответствующий заголовок, список свойств и нижний колонтитул.

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

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

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

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

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

Только образец класса handle может быть в состоянии скалярного указателя на удаленный объект.

Похожие темы