All class properties must be defined within properties
blocks. The
definition of a default value for a property is optional and can be omitted.
The default initial value for each class property is []
.
A properties
block can have additional attributes to specify access
rights or to define constants:
classdef some_class properties (Access = mode) prop1 endproperties properties (SetAccess = mode, GetAccess = mode) prop2 endproperties properties (Constant = true) prop3 = pi () endproperties properties prop4 = 1337 endproperties endclassdef
where mode can be one of:
public
The properties can be accessed from everywhere.
private
The properties can only be accessed from class methods. Subclasses of that class cannot access them.
protected
The properties can only be accessed from class methods and from subclasses of that class.
When creating an object of some_class
, prop1 has the default
value []
and reading from and writing to prop1 is defined by
a single mode. For prop2 the read and write access can be set
differently. Finally, prop3 is a constant property which can only be
initialized once within the properties
block.
By default, in the example prop4, properties are not constant and have public read and write access.
(obj)
¶(class_name)
¶proplist =
properties (…)
¶Display or return the public properties for the classdef object obj or the named class class_name.
If an output value is requested, return the list of property names in a cell array.
Programming Note: Property names are returned if the GetAccess
attribute
is public and if the Hidden
attribute is false.
See also: methods.