Разделение на подклассы matlab.mixin.CustomDisplay
является лучшим подходом к настройке отображения объекта. Однако, если вы не выводите свой класс от matlab.mixin.CustomDisplay
, перегружаете функцию disp
, чтобы измениться, как MATLAB® отображает объекты вашего класса.
MATLAB вызывает функцию display
каждый раз, когда объект упомянут в операторе, который не отключен точкой с запятой. Например, следующий оператор создает переменный a
. MATLAB вызывает display
, который отображает значение a
в командной строке.
a = 5
a = 5
display
затем вызывает disp
.
Встроенная функция display
распечатывает имя переменной, которая отображается, если присвоение сделано, или в противном случае использует ans
в качестве имени переменной. Затем display
вызывает disp
, чтобы обработать фактическое отображение значений.
Если переменная, которая отображается, является объектом класса, что перегрузки disp
, то MATLAB всегда вызывает перегруженный метод. MATLAB вызывает display
с двумя аргументами и передает имя переменной в качестве второго аргумента.
MATLAB вызывает встроенную функцию display
когда:
MATLAB выполняет оператор, который возвращает значение и не отключен с точкой с запятой.
Нет никакой переменной левой стороны, затем MATLAB распечатывает ans =
, сопровождаемый значением.
Код явным образом вызывает функцию display
.
Когда вызвал display
:
Если входной параметр является существующей переменной, display
распечатывает имя переменной и знак "равно", сопровождаемый значением.
Если входной параметр является результатом выражения, отображение не распечатывает ans =
.
MATLAB вызывает встроенную функцию disp
когда:
Встроенные вызовы функции display
disp
.
Код явным образом вызывает disp
.
Для пустых встроенных типов (числовые типы, char
, struct
и cell
) display
функционируют отображения:
[]
— для числовых типов
"0x0 struct array with no fields."
— для пустого structs
.
"Empty cell array: 0-by-1"
— для массивов пустой ячейки.
''
— для пустых массивов char
disp
отличается от display
этими способами:
disp
не распечатывает имя переменной или ans
.
disp
ничего не распечатывает для встроенных типов (числовые типы, char
, struct
и cell
), когда значение пусто.