exponenta event banner

Свойства класса

Блок свойств

Определение свойств класса в пределах 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

Связанные темы