Методы для совместимых с указатель классов

Методы для объектов указатель и значение

Объекты, переданные в методы 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

Похожие темы