Как работы 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 метод обработчиков состояния, который подходит для состояния объекта или отображаемого объектного массива.

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

Похожие темы

Была ли эта тема полезной?