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.
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
.