Handle Classes
Handle classes support reference semantics
A handle class constructor returns a handle object that is a reference to the object created. You can assign the handle object to multiple variables or pass it to functions without causing MATLAB® to make a copy of the original object. For a discussion of how to work with handle objects, see Handle Object Behavior.
Functions
isequal | Determine array equality |
eq | Determine equality |
matlab.lang.invalidHandle | Construct array of invalid handles (Since R2024b) |
Classes
handle | Superclass of all handle classes |
matlab.mixin.SetGet | Provide handle classes with set and get methods |
matlab.mixin.SetGetExactNames | Require exact name match for set and get methods |
dynamicprops | Superclass for classes that support dynamic properties |
matlab.mixin.Copyable | Superclass providing copy functionality for handle objects |
matlab.lang.WeakReference | Weak reference to handle object (Since R2024b) |
matlab.lang.HandlePlaceholder | Basic subclass of handle (Since R2024b) |
Methods
addlistener | Create event listener bound to event source |
listener | Create event listener without binding to event source |
notify | Notify listeners that event is occurring |
delete | Delete handle object |
findobj | Find handle objects |
findprop | Find matlab.metadata.Property object |
isvalid | Determine valid handles |
relationaloperators | Determine equality or sort handle objects |
Topics
Characteristics of Handle and Value Classes
- Comparison of Handle and Value Classes
Value objects are associated with a specific variable. Handle objects can be referenced by multiple variables. - Which Kind of Class to Use
Whether you implement a handle or value class depends on what your class represents and how you want objects to behave. - Handle Object Behavior
MATLAB handle variables support reference semantics.
Building on the Handle Class
- The Handle Superclass
Thehandle
class implements methods to support events and listeners, destructors, relational operations, and other operations. - Handle Class Destructor
Define a delete method to customize what happens when MATLAB destroys handle objects.
Working with Handle Classes
- Find Handle Objects and Properties
Find objects using regular expressions or obtain thematlab.metadata.Property
object for specific properties. - Implement Set/Get Interface for Properties
Create a set/get interface for your handle class. - Implement Copy for Handle Classes
Customize object copy operations by deriving from thematlab.mixin.Copyable
class. - Handle Compatible Classes
Enable both handle and value classes to derive from a specific class. - Weak Reference Handles
Create weak references to handle classes. (Since R2024b)