Methods for Handle-Compatible Classes
Methods for Handle and Value Objects
Objects passed to methods of handle-compatible classes can be either handle or value objects. There are two different behaviors to consider when implementing methods for a class that operate on both handles and values:
If an input object is a handle object and the method alters the handle object, these changes are visible to all workspaces that contain the same handle.
If an input object is a value object, then changes to the object made inside the method affect only the value inside the method workspace.
Handle compatible methods generally do not alter input objects because the effects of such changes are not the same for handle and nonhandle objects.
See Object Modification for information about modifying handle and value objects.
Modify Value Objects in Methods
If a method operates on both handle and value objects, the method must return the
modified object. For example, the setTime
method returns the
object it modifies:
classdef (HandleCompatible) Util % Utility class that adds a time stamp properties TimeStamp end methods function obj = setTime(obj) obj.TimeStamp = now; end end end