Задайте свойства класса в блоке properties
:
classdef ClassName properties (PropertyAttributes) PropertyName class = 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