属性的SetAccess特性可以确定在什么条件下代码可以修改对象的属性值。有四种情况:
SetAccess=public:任何访问对象的代码都可以设置公共属性值。句柄类和值类在修改对象属性方面有所差异。
SetAccess=protected:只有在类方法或子类方法中执行的代码才能设置属性值。不能改变对象属性的值,除非类或它的任何子类定义了一个方法去进行改变。
SetAccess=private:只有当前定义的类才能设置属性值。
SetAccess=immutable:在创建时设置属性值,以后不能改变。
下面的代码定义不可修改的属性:
code.matlab
classdef Immute
properties(SetAccess=immutable)
CurrentDate
end
methods
function obj=Immute
obj.CurrentDate=date;
end
end
end
>> a=Immute
a=
Immute(具有属性):
CurrentDate: '09-Jun-2023'