Следующий рисунок показывает типичную спецификацию свойства. properties
и ключевые слова end
формируют рисунок блока кода, который задает свойства, имеющие те же настройки атрибута.
Свойства не могут иметь того же имени как класс.
Для примера смотрите, Создают Простой Класс.
Предыдущий пример показывает свойство Coefficients
, заданное как наличие значения по умолчанию [0 0 1]
.
Можно инициализировать значения свойств с выражениями MATLAB®. Однако эти выражения не могут относиться к классу, который вы задаете в любом случае, кроме вызвать статические методы класса. MATLAB выполняет выражения, которые создают начальные значения свойств только при инициализации класса, который происходит непосредственно перед первым использованием класса. Смотрите Значения свойства по умолчанию для получения дополнительной информации о том, как MATLAB выполняет выражения значения по умолчанию.
Имена свойства должны быть перечислены на отдельных строках. MATLAB интерпретирует имя после имени свойства как имя класса.
Можно ограничить значения свойств путем соединения класса со свойством в определении свойства. Например, определение MyData
требует, чтобы значения, присвоенные этому свойству, имели тип int32
или типы, которые совместимы с int32
.
properties MyData int32 end
Для получения дополнительной информации см. Проверку значений свойств.
Синтаксис доступа к свойству похож на полевой синтаксис структуры MATLAB. Например, если obj
является объектом класса, то можно получить значение свойства путем ссылки на имя свойства:
val = obj.PropertyName
Присвойте значения свойствам путем помещения ссылки свойства на левой стороне знака "равно":
obj.PropertyName = val
Когда вы получаете доступ к свойству, MATLAB выполняет любой набор свойств, или получите метод доступа и инициировавший любые активированные события свойства.
Когда вы выводите один класс от другого класса, выведенный (подкласс), класс наследовал все свойства суперкласса. В целом подклассы задают только свойства, которые уникальны для того конкретного класса. Суперклассы задают свойства то больше чем одно использование подкласса.
Атрибуты, заданные с ключевым словом properties
, применяются ко всем определениям свойства, которые следуют в том блоке. Если вы хотите применить настройки атрибута к определенным свойствам только, снова использовать ключевое слово properties
и создать другой блок свойства для тех свойств.
Например, следующий код показывает набор атрибута SetAccess
private
для свойств IndependentVar
и Order
, но не для свойства Coefficients
:
Для получения информации о свойствах определенного класса используйте функцию properties
.