Объекты, переданные в методы handle совместимых классов, могут быть объектами указатель или value. Существует два различных поведения, которые должны учитываться при реализации методов для класса, которые работают и с указателями, и с значениями:
Если объект входа является объектом-указателем, и метод изменяет объект-указатель, эти изменения видны для всех рабочих областей, которые содержат один и тот же указатель.
Если объект входа является объектом значения, то изменения объекта, сделанные внутри метода, влияют только на значение в рабочую область метода.
Методы, совместимые с Handle, обычно не изменяют входные объекты, потому что эффекты таких изменений не совпадают для объектов указатель и nonhandle.
Информацию об изменении объектов указателя и значения см. в разделе Изменение объекта.
Если метод действует как с указателями, так и с объектами значение, метод должен вернуть измененный объект. Для примера, setTime
метод возвращает изменяемый объект:
classdef (HandleCompatible) Util % Utility class that adds a time stamp properties TimeStamp end methods function obj = setTime(obj) obj.TimeStamp = now; end end end