Attributes modify the behavior of classes and class components
(properties, methods, and events). Attributes enable you to define
useful behaviors without writing complicated code. For example, you
can create a read-only property by setting its SetAccess
attribute
to private
, but leaving its GetAccess
attribute
set to public
:
properties (SetAccess = private) ScreenSize = getScreenSize end
All class definition blocks (classdef
, properties
, methods
,
and events
) support specific attributes. All attributes
have default values. Specify attribute values only in cases where
you want to change from the default value to another predefined value.
Note: Specify the value of a particular attribute only once in any component block. |
For lists of supported attributes, see:
When you specify attribute values, those values affect all the components defined within the defining block. For example, the following property definition blocks set the:
AccountBalance
property SetObservable
attribute
to true
SSNumber
and CreditCardNumber
properties' Hidden
attribute
to true
and SetAccess
attribute
to private
.
Defining properties with different attribute settings requires
multiple properties
blocks.
properties (SetObservable = true) AccountBalance end properties (SetAccess = private, Hidden = true) SSNumber CreditCardNumber end
Specified multiple attributes in a comma-separated list, as shown in the previous example.
When specifying class attributes, place the attribute list directly
after the classdef
keyword:
classdef (AttributeName = attributeValue) ClassName ... end
You can use a simpler syntax for attributes whose values are true
or false
—
the attribute name alone implies true
and adding
the not
operator (~
) to the
name implies false
. For example:
methods (Static) ... end
Is the same as:
methods (Static = true) ... end
Use the not
operator before an attribute
name to define it as false
:
methods (~Static) ... end
Is the same as:
methods (Static = false) ... end
All attributes that take a logical value (that is, true
or false
)
have a default value of false
. Therefore, specify
an attribute only if you want to set it to true
.