Синтаксис свойств

Блок определения свойств

Следующий рисунок показывает типичную спецификацию свойства. 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.

Похожие темы