On this page…
Property Attribute SyntaxTable of Property AttributesProperty Attribute Syntax
Assign property attributes on the same line as the properties keyword:
properties (Attribute1 = value1, Attribute2 = value2,...) ...endFor more information on attribute syntax, see
Specifying Attributes.
Table of Property Attributes
Attributes enable you to modify the behavior of properties. All properties support the attributes listed in the following table.
Attribute values apply to all properties defined within the properties...end code block that specifies the nondefault values.
Attribute Name
Class
Description
AbortSet
logical
default = false
If true, MATLAB? does not set the property value if the new value is the same as the current value and does not call the property set method, if one exists.
For handle classes, setting AbortSet to true also prevent the triggering of property PreSet and PostSetevents.
See
Aborting Set When Value Does Not ChangeAbstract
logical
default = false
If true, the property has no implementation, but a concrete subclass must redefine this property without Abstractbeing set to true.Abstract properties cannot define set or get access methods. See
Property Access Methods.
Abstract properties cannot define initial values. See
Assigning a Default Value.
All subclasses must specify the same values as the superclass for the property SetAccess and GetAccessattributes.
Abstract=true use with the class attributeSealed=false (the default).
Access
enumeration, default = public
meta.class object
cell array of meta.class objects
public – unrestricted access
protected – access from class or subclasses
private – access by class members only (not subclasses)
List of classes that have get and set access to this property. Specify classes as
meta.class objects in the form:
A single meta.class object
A cell array of meta.class objects. An empty cell array,{}, is the same as private access.
See
Controlling Access to Class MembersUse Access to set both SetAccess and GetAccess to the same value. Query the values of SetAccess andGetAccess directly (not Access).
Constant
logical
default = false
Set to true if you want only one value for this property in all instances of the class:
Subclasses inherit constant properties, but cannot change them.
Constant properties cannot be Dependent.
SetAccess is ignored.
See
Properties with Constant Values for more information.
Dependent
logical
default = false
If false, property value is stored in object. If true, property value is not stored in object. The set and get functions cannot access the property by indexing into the object using the property name.
MATLAB does not display in the command window the names and values of Dependent properties that do not define a get method (scalar object display only).
Using a Dependent PropertyProperty Get MethodsAvoiding Property Initialization Order DependencyGetAccess
enumeration
default = public
public — unrestricted access
protected — access from class or subclasses
private — access by class members only (not from subclasses)
List classes that have get access to this property. Specify classes as
meta.class objects in the form:
A single meta.class object
A cell array of meta.class objects. An empty cell array,{}, is the same as private access.
See
Controlling Access to Class MembersMATLAB does not display in the command window the names and values of properties having protected orprivate GetAccess or properties whose Hidden attribute is true.
The
struct function defines fields for all properties when converting objects to structs.
GetObservable
logical
default = false
If true, and it is a handle class property, then you can create listeners for access to this property. The listeners are called whenever property values are queried. See
Property-Set and Query EventsHidden
logical
default = false
Determines whether the property should be shown in a property list (e.g., Property Inspector, call to set or get, etc.).
MATLAB does not display in the command window the names and values of properties whose Hidden attribute istrue or properties having protected or privateGetAccess.
SetAccess
enumeration
default = public
public — unrestricted access
protected — access from class or subclasses
private — access by class members only (not from subclasses)
immutable — property can be set only in the constructor.
See
Mutable and Immutable PropertiesList classes that have set access to this property. Specify classes as
meta.class objects in the form:
A single meta.class object
A cell array of meta.class objects. An empty cell array,{}, is the same as private access.
See
Controlling Access to Class MembersSetObservable
logical
default = false
If true, and it is a handle class property, then you can create listeners for access to this property. The listeners are called whenever property values are modified. See
Property-Set and Query EventsTransient
logical
default = false
If true, property value is not saved when object is saved to a file. See
Understanding the Save and Load Process for more about saving objects.