handle - Superclass of all handle classes - MATLAB (original) (raw)
Main Content
handle Class
Superclass of all handle classes
Description
Events
Event Name | Trigger | Event Data | Event Attributes |
---|---|---|---|
ObjectBeingDestroyed | Triggered when the handle object is about to be destroyed, but before calling the delete method. | event.EventData | NotifyAccess: privateListenAccess: public |
Examples
The MySubclass
class derives from the handle
class. The property set method does not return the object passed to the method, as is required by a value class:
classdef MySubclass < handle properties Client tcpclient end methods function set.Client(obj,c) if isa(c,'tcpclient') obj.Client = c; end end end end
Create an object of MySubclass
and assign a tcpclient
object to the Client
property.
t = MySubclass; t.Client = tcpclient('www.mathworks.com', 80);
More About
Copying a handle object does not copy the underlying data associated with the object. The copy is another handle referring to the same object. Therefore, if a function modifies a handle object passed as an input argument, the modification affects the original input object in the caller's workspace.
In contrast, nonhandle objects (that is, value objects) associate data with a particular variable. Functions must return modified value objects to change the object outside of the function's workspace.
For information on passing objects to functions, see Object Modification and Handle Object Behavior.
MATLAB® destroys handle objects when there are no references to the object. You can explicitly remove a handle object by calling its delete method. The handle
class enables you to control what happens when handle objects are destroyed, either implicitly when no references exist or explicitly when you delete the object.
For more information, see Handle Class Destructor.
Any code can respond to the pending deletion of a handle object by defining a listener for that object’s ObjectBeingDestroyed
event. MATLAB triggers this event before calling the object’s delete
method.
For more information on using events and listeners, see Events and Listeners Syntax.
Extended Capabilities
Version History
Introduced in R2008a