This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

handle class

Superclass of all handle classes

Description

The handle class is the superclass for all classes that follow handle semantics. A handle is a variable that refers to an object of a handle class. Multiple variables can refer to the same object.

The handle class is an abstract class, so you cannot create an instance of this class directly. You use the handle class to derive other classes, which can be concrete classes whose instances are handle objects.

To define a handle class, derive your class from handle using the syntax in the following classdef code.

classdef MyHandleClass < handle
    ...
end

Deriving from the handle class enables your subclass to:

For information about using handle classes, see Handle Classes

Class Attributes

Abstract

true

ConstructOnLoad

true

HandleCompatible

true

For information on class attributes, see Class Attributes.

Methods

expand all

Events

Event NameTriggerEvent DataEvent Attributes
ObjectBeingDestroyedTriggered when the handle object is about to be destroyed, but before calling the delete method. event.EventData

NotifyAccess: private

ListenAccess: public

Examples

collapse all

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

expand all

Introduced in R2008a