Изменяемые и неизменяемые свойства

Установите доступ к значениям свойств

Свойство 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'

Похожие темы