Атрибуты изменяют поведение классов и компонентов классов (свойств, методов и событий). Атрибуты позволяют вам определять полезное поведение, не записывая сложный код. Например, вы можете создать свойство только для чтения, задав его SetAccess
атрибут к private
, но оставив свои GetAccess
для атрибута задано значение public
:
properties (SetAccess = private) ScreenSize = getScreenSize end
Все блоки определения классов (classdef
, properties
, methods
, и events
) поддерживает конкретные атрибуты. Все атрибуты имеют значения по умолчанию. Задавать значения атрибутов нужно только в тех случаях, когда требуется изменить значение по умолчанию на другое предопределенное значение.
Примечание
Задайте значение конкретного атрибута только один раз в любом блоке компонента.
Списки поддерживаемых атрибутов см. в разделе:
Когда вы задаете значения атрибутов, эти значения влияют на все компоненты, определенные в определяющем блоке. Для примера следующие блоки определения свойств устанавливают:
AccountBalance
свойства SetObservable
атрибут к true
SSNumber
и CreditCardNumber
свойства ' Hidden
атрибут к true
и SetAccess
атрибут к private
.
Для определения свойств с различными настройками атрибутов требуется несколько properties
блоки.
properties (SetObservable = true) AccountBalance end properties (SetAccess = private, Hidden = true) SSNumber CreditCardNumber end
Указание нескольких атрибутов в списке, разделенном запятыми, как показано в предыдущем примере.
При указании атрибутов класса разместите список атрибутов непосредственно после classdef
ключевое слово:
classdef (AttributeName = attributeValue) ClassName ... end
Можно использовать более простой синтаксис для атрибутов, значения которых true
или false
- только имя атрибута подразумевает true
и добавление not
оператор (~
) к имени подразумевает false
. Для примера:
methods (Static) ... end
Это то же самое, что и:
methods (Static = true) ... end
Используйте not
оператор перед именем атрибута, чтобы определить его как false
:
methods (~Static) ... end
Это то же самое, что и:
methods (Static = false) ... end
Все атрибуты, которые берут логическое значение (то есть true
или false
) имеют значение по умолчанию false
. Поэтому задайте атрибут, только если вы хотите задать его на true
.