马铃薯®加载类时只评估属性默认值。每次创建该类的对象时,MATLAB都不会重新评估分配。如果将对象分配为类定义中的默认属性值,则Matlab在加载类时仅调用该对象的构造函数。
笔记
只有在首次需要该值时才发生属性默认值的评估,并且当Matlab首次初始化类时,才会发生一次。MATLAB每次创建类别的实例时都不会重新评估表达式。
有关评估您称为属性默认值的表达式的更多信息,请参阅当matlab评估表达时。
当类定义具有私有或受保护的属性时setaccess.
,该属性包含一个本身具有属性的对象,赋值行为取决于属性是否包含句柄或值对象:
处理对象 - 您可以在只读属性中的句柄对象上设置属性
值对象 - 您无法在只读属性中包含的值对象上设置属性。
这些类说明了赋值行为:
readonlyprops.
- 类具有两个只读属性。类构造函数分配类型的句柄对象汉语
到了PrainHandle.
属性和类型的值对象val
到了Propvalue.
财产。
汉语
- 处理公共财产的课程
val
- 具有公共财产的价值课程
Classdef.readonlyprops.特性(setaccess = private)prophandle propvalue结尾方法功能obj = readonlyprops obj.prophandle = hanclass;obj.propvalue = valclass;结尾结尾结尾Classdef.Hanclass <句柄特性HPROP.结尾结尾Classdef.val特性vprop.结尾结尾
创建一个实例readonlyprops.
班级:
a = readonlyprops.
a =具有属性的readonlyprops:prophandle:[1x1 hanclass] propvalue:[1x1 valclass]
使用私人PrainHandle.
属性设置“属性”汉语
它包含的对象:
类(A.Prophandle.hprop)
ans = diple.
A.Prophandle.hprop = 7;
不允许尝试对值类对象属性进行分配:
a.propvalue.vprop = 11;
您无法设置ReadOnlyProps的只读属性“PropValue”。