Перегрузка функции disp

Отображение методов

Разделение на подклассы matlab.mixin.CustomDisplay лучший подход к настройке отображения объекта. Однако, если вы не выводите свой класс из matlab.mixin.CustomDisplay, перегрузитесь disp функционируйте, чтобы измениться, как MATLAB® отображает объекты вашего класса.

MATLAB вызывает display функционируйте каждый раз, когда объект упомянут в операторе, который не отключен точкой с запятой. Например, следующий оператор создает переменную a. MATLAB вызывает display, который отображает значение a в командной строке.

a = 5
a =
    5

display затем вызовы disp.

Перегруженный disp

Встроенный display функционируйте распечатывает имя переменной, которая отображается, если присвоение сделано, или в противном случае использует ans как имя переменной. Затем display вызовы disp обрабатывать фактическое отображение значений.

Если переменная, которая отображается, является объектом класса, это перегружает disp, затем MATLAB всегда вызывает перегруженный метод. MATLAB вызывает display с двумя аргументами и передачами имя переменной в качестве второго аргумента.

Отношение Между disp и отображением

MATLAB вызывает встроенный display функционируйте, когда следующее произойдет:

  • MATLAB выполняет оператор, который возвращает значение и не отключен с точкой с запятой.

  • Нет никакой переменной левой стороны, затем MATLAB распечатывает ans = сопровождаемый значением.

  • Код явным образом вызывает display функция.

При вызове display:

  • Если входной параметр является существующей переменной, display распечатывает имя переменной и знак "равно", сопровождаемый значением.

  • Если вход является результатом выражения, отображение не распечатывает ans =.

MATLAB вызывает встроенный disp функционируйте, когда следующее произойдет:

  • Встроенный display вызовы функции disp.

  • Код явным образом вызывает disp.

Для пустых встроенных типов (числовые типы, charStruct (), и cell) display функциональные отображения:

  • [] — для числовых типов

  • "0x0 struct array with no fields." — для пустого structs.

  • "0x0 empty cell array" — для массивов пустой ячейки.

  • "0x0 empty char array" — для пустого char массивы

  • "0x0 empty string array" — для пустого string массивы

disp отличается от display этими способами:

  • disp не распечатывает имя переменной или ans.

  • disp печать ничто для встроенных типов (числовые типы, charStruct (), и cell) когда значение пусто.

Похожие темы