Documentation

Defining Properties

Property Definition Block

The following illustration shows a typical property specification. The properties and end keywords delineate a block of code that defines properties having the same attribute settings.

    Note:   Properties cannot have the same name as the class

Assigning a Default Value

The preceding example shows the Coefficients property specified as having a default value of [0 0 1].

You can initialize property values with MATLAB® expressions. However, these expressions cannot refer to the class that you are defining in any way, except to call class static methods. MATLAB executes expressions that create initial property values only when initializing the class, which occurs just before first using the class. See Defining Default Values for more information about how MATLAB evaluates default value expressions.

Access Property Values

Property access syntax is like MATLAB structure field syntax. For example, if obj is an object of a class, then you can get the value of a property by referencing the property name:

val = obj.PropertyName

Assign values to properties by putting the property reference on the left side of the equal sign:

obj.PropertyName = val

When you access a property, MATLAB executes any property set or get access method and triggering any enabled property events.

Inheritance of Properties

When you derive one class from another class, the derived (subclass) class inherits all the properties of the superclass. In general, subclasses define only properties that are unique to that particular class. Superclasses define properties that more than one subclass use.

Specify Property Attributes

Attributes specified with the properties keyword apply to all property definitions that follow in that block. If you want to apply attribute settings to certain properties only, reuse the properties keyword and create another property block for those properties.

For example, the following code shows the SetAccess attribute set to private for the IndependentVar and Order properties, but not for the Coefficients property:

See for a list of all property attributes.

More About

Was this topic helpful?