Main Content

Customize Object Indexing

Customize indexed reference and assignment for your class

Customize indexed reference and assignment behavior for objects. User-defined classes possess the same indexing behavior as built-in MATLAB® classes, but you can modify this behavior by inheriting from one or more superclasses.

Modular indexing mixin classes (since R2021b) enable you to customize indexing operations individually. For example, you can customize parentheses indexing by inheriting from matlab.mixin.indexing.RedefinesParen, while using the default MATLAB behavior for dot and brace indexing without writing additional code.

You can also overload the subsref and subsasgn functions in your classes, but this technique requires you to overload parentheses, dot, and brace indexing, even if you need to customize only one behavior. Using the modular indexing classes is the recommended procedure whenever possible.

Classes

matlab.mixin.indexing.RedefinesParenCustomize class indexing operations that use parentheses
matlab.mixin.indexing.RedefinesDotCustomize class indexing operations that use dots
matlab.mixin.indexing.RedefinesBraceCustomize class indexing operations that use braces
matlab.indexing.IndexingOperationType of customized indexing operation and referenced indices
matlab.mixin.ScalarEnforce scalar behavior for class instances
matlab.mixin.indexing.ForbidsPublicDotMethodCallDisallow calling public methods using dot notation
matlab.mixin.indexing.OverridesPublicDotMethodCallCalling public methods with dot notation invokes overloaded dot indexing

Fonctions

développer tout

listLengthNumber of arguments returned from customized indexing operations
subsrefSubscripted reference
subsasgnRedefine subscripted assignment
subsindexConvert object to array index
substructCreate structure argument for subsasgn or subsref
builtinExecute built-in function from overloaded method
numArgumentsFromSubscriptNumber of arguments for customized indexing based on subsref and subsasgn

Rubriques

Customize Object Indexing

MATLAB classes support object array indexing by default.

Customize Parentheses Indexing for Mapping Class

This example shows how to customize parentheses indexing for a mapping class.

Forward Indexing Operations

Forward additional levels of indexing after customized indexing operations.

end as Object Index

Learn how to implement the use of end for object indexing.

Objects in Index Expressions

You can design objects that can be used as indices in indexing expressions.

Code Patterns for subsref and subsasgn Methods

There are code patterns useful for modifying object indexing.