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