Which Kind of Class to Use

Examples of Value and Handle Classes

Handle and value classes are useful in different situations. For example, value classes enable you to create new array classes that have the same semantics as MATLAB® numeric classes.

Example — A Polynomial Class and Example — Representing Structured Data provides examples of value classes.

Handle classes enable you to create objects that can be shared by more than one function or object. Handle objects allow more complex interactions among objects because they allow objects to reference each other.

Example — Implementing Linked Lists and Developing Classes — Typical Workflow provides examples of a handle class.

When to Use Handle Classes

You should use a handle class when:

When to Use Value Classes

Value class instances behave like normal MATLAB variables. A typical use of value classes is to define data structures. For example, suppose you want to define a class to represent polynomials. This class can define a property to contain a list of coefficients for the polynomial and implement methods that enable you to perform various common operations on the polynomial object, such as addition and multiplication, without converting the object to another class.

A value class is suitable because you can copy a polynomial object and have two objects that are identical representations of the same polynomial. See Subclassing MATLAB® Built-In Classes for more information on value classes.

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS