There are functions that MATLAB® calls implicitly when you perform certain actions with objects. For example, a statement like
[B(1);A(3)] involves indexed reference and vertical concatenation.
You can change how user-defined objects behave by defining methods that control specific behaviors. To change a behavior, implement the appropriate method with the name and signature of the MATLAB function.
The following table lists the methods to implement for your class and describes the behaviors that they control.
Class Method to Implement
Customize behavior when concatenating objects
Creating Empty Arrays
|Create empty arrays of the specified class. See Empty Arrays|
Called when you enter
Called by statements that are not terminated by semicolons.
Converting Objects to Other Classes
Convert an object to a MATLAB built-in class
Enables you to create nonstandard indexed reference and indexed assignment
Determine the number of elements in an array
Overload to specify the number of values to return from indexing expressions.
Determine the dimensions of an array
Support using an object in indexing expressions
Saving and Loading Objects
Customize behavior when loading and saving objects
Reshape and Rearrange
Rearrange dimensions of N-D array
Transpose vector or matrix
Complex conjugate transpose
Determine Size and Shape
Determine if the input is a scalar
Determine if the input is a vector
Determine if the input is a matrix
Determine if the input is empty
Overloading and overriding are terms that describe techniques for customizing class behavior. Here is how we use these terms in MATLAB.
Overloading means that there is more than one function or method having the same name within the same scope. MATLAB dispatches to a particular function or method based on the dominant argument. For example, the
timeseries class overloads the MATLAB
plot function. When you call
plot with a
timeseries object as an input argument, MATLAB calls the
timeseries class method named
To call the nonoverloaded function, use the
Overriding means redefining a method inherited from a superclass. MATLAB dispatches to the most specific version of the method. That is, if the dominant argument is an object of the subclass, then MATLAB calls the subclass method.
To control class dominance, use the