类——属性
matlab类——属性
属性定义语法
properties(Attributes)
propertyname = default value;
end
properties内可以有多个属性并列。
Matlab中可用的Attributes很多,具体可以查看帮助文档,常用的有
- SetAccess,枚举类型,值可以是public(默认),protected,private。public指无限制的获取权限,protected指该类及其继承类有获取权限,private指只有该类具有获取权限。
- Constant,逻辑类型,值可以是true和false(默认),顾名思义,如果设为true,那么属性值为常量。
- Dependent,逻辑类型,默认值为false,如果为false,属性值保存在实例里;如果为true,那么属性值不保存在实例里。set和get函数不能通过实例的属性名获取属性值。
- SetObservable,可以是true和false(默认),如果设为true,并且类为句柄类,那么可以设置订阅者。当这个属性值修改时,会调用订阅者。
例子:圆面积类的属性
classdef CircleArea
properties
Radius
end
properties(Constant)
P = pi;
end
properties(Dependent)
Area
end
...
end
注:properties本身也是一个函数,properties(‘classname’)会显示类拥有的且attribute为public的属性。