Собственность SetAccess позволяет определить, при каких условиях код может изменять значения свойств объекта. Существует четыре уровня доступа к набору, которые обеспечивают различную степень доступа к значениям свойств объекта:
SetAccess = public - Любой код, имеющий доступ к объекту, может задавать значения общих свойств. Существуют различия между поведением классов дескрипторов и значений в отношении изменения свойств объекта.
SetAccess = protected - Только код, выполняющийся из методов классов или методов подклассов, может устанавливать значения свойств. Нельзя изменить значение свойства объекта, если класс или любой из его подклассов не определяет метод для этого.
SetAccess = private - Только определяющий класс может устанавливать значения свойств. Изменить значение свойства объекта можно только в том случае, если класс определяет метод, задающий свойство.
SetAccess = immutable - Значение свойства устанавливается во время построения. После создания объекта изменить значение неизменяемого свойства невозможно. Задайте значение свойства как значение по умолчанию или в конструкторе класса. Невозможно определить метод набора свойств (set.) для неизменяемого свойства. PropertyName
Дополнительные сведения см. в разделе Свойства, содержащие объекты.
В этом определении класса только Immute конструктор класса может установить значение CurrentDate свойство:
classdef Immute properties (SetAccess = immutable) CurrentDate end methods function obj = Immute obj.CurrentDate = date; end end end
a = Immute
a =
Immute with properties:
CurrentDate: '19-Oct-2005'