Class Properties

Блок свойств

Задайте свойства класса в properties блок:

classdef ClassName
   properties (PropertyAttributes)
      PropertyName size class {validation functions} = DefaultValue
   end
end

Атрибуты свойства применяются ко всем свойствам, заданным в блоке. Чтобы задать свойства с различными атрибутами, используйте несколько properties блоки. Все атрибуты свойства имеют значения по умолчанию. Для списка атрибутов свойства см. Атрибуты свойств.

Ограничьте размер, класс и другие аспекты значений, присвоенных свойствам в определении свойства. Для получения дополнительной информации см. Проверку значений свойств.

Опционально присвойте значения по умолчанию свойству в properties блок. MATLAB® оценивает оператор присваивания, когда на класс сначала ссылаются или при загрузке сохраненного объекта. Для получения дополнительной информации см. Определение Свойства.

Примечание

Оценка значений свойства по умолчанию происходит только, когда значение сначала необходимо, и только однажды, когда MATLAB сначала инициализирует класс. MATLAB не переоценивает выражение каждый раз, когда вы создаете экземпляр класса.

Для получения дополнительной информации об оценке выражений, которые вы присваиваете как значения свойства по умолчанию, см. Когда MATLAB определяет значение выражения.

Свойства с различными атрибутами

Следующий класс задает три свойства. Model и Color используйте значения атрибута по умолчанию, приводящие к общедоступному доступу для чтения и доступу для записи. SerialNumber имеет доступ только для чтения объектными пользователями. Присвойте SerialNumber значение свойства от функции члена класса, такой как конструктор или другой метод класса.

classdef NewCar
   properties
      Model
      Color
   end
   properties (SetAccess = private)
      SerialNumber
   end
   methods
   ...
   end
end

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

Используйте запись через точку, чтобы получить доступ к значению свойства.

A = NewCar
A = 

  NewCar with properties:

           Model: []
           Color: []
    SerialNumber: []

Установите Model и Color свойства:

A.Model = 'XGT7000';
A.Color = 'Red';

Добавьте конструктора в NewCar класс, чтобы установить значения свойств:

classdef NewCar
   properties
      Model
      Color
   end
   properties (SetAccess = private)
      SerialNumber
   end
   methods
      function obj = NewCar(model,color)
         obj.Model = model;
         obj.Color = color;
         obj.SerialNumber = datenum(datetime('now'));
      end
   end
end
A = NewCar('XGT7000','Red')
A = 

  NewCar with properties:

           Model: 'XGT7000'
           Color: 'Red'
    SerialNumber: 7.362456078531134e+05

Похожие темы