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

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

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

Похожие темы