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

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

Объекты передали методам указателя, совместимые классы могут быть или указателем или объектами значения. Существует два различных поведения, чтобы рассмотреть при реализации методов для класса, которые работают и с указателями и со значениями:

  • Если входной объект является объектом указателя, и метод изменяет объект указателя, эти изменения отображаются ко всем рабочим областям, которые содержат тот же указатель.

  • Если входной объект является объектом значения, то изменения в объекте, сделанном в методе, влияют только на значение в рабочей области метода.

Обработайте совместимые методы, обычно не изменяют входные объекты, потому что эффекты таких изменений различные для указателя и не обрабатывают объекты.

Смотрите Объектную Модификацию для получения информации об изменении объекты значения и указатель.

Изменение объектов значения в методах

Если метод работает и с указателем и с объектами значения, метод должен возвратить модифицированный объект. Например, 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

Похожие темы