exponenta event banner

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

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

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

Связанные темы