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

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

Свойство SetAccess атрибут позволяет вам определить, при каких условиях код может изменить значения свойства объекта. Существует четыре уровня доступа к набору, которые обеспечивают различные степени доступа к значениям свойства объекта:

  • SetAccess = public — Любой код с доступом к объекту может установить значения общественной собственности. Существуют различия между поведением указателя и классами значения относительно изменения свойств объектов.

  • SetAccess = protected — Только код, выполняющийся из методов класса или методов подклассов, может установить значения свойств. Вы не можете изменить значение свойства объекта, если класс или любой из его подклассов не задают метод, чтобы сделать так.

  • SetAccess = private — Только класс определения может установить значения свойств. Можно изменить значение свойства объекта, только если класс задает метод, который устанавливает свойство.

  • SetAccess = immutable — Значение свойства установлено во время конструкции. Вы не можете изменить значение неизменяемого свойства после того, как объект будет создан. Установите значение свойства как значение по умолчанию или в конструкторе класса. Вы не можете задать метод набора свойств (набор. 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'

Похожие темы