属性の指定
属性の構文
属性は、クラスとクラス コンポーネント (プロパティ、メソッド、イベント) の動作を変更します。属性を指定すると、複雑なコードを記述しなくても、有効な動作を定義できます。たとえば、SetAccess
属性を private
に設定し、GetAccess
属性を public
のままにしておくことで、読み取り専用のプロパティを作成できます。
properties (SetAccess = private) ScreenSize = getScreenSize end
すべてのクラス定義ブロック (classdef
、properties
、methods
、events
) は、特定の属性をサポートしています。すべての属性に既定値があります。また、すべての属性には既定値が設定されています。既定値をあらかじめ定義された他の値に変更する場合にのみ、属性値を指定します。
メモ
任意の component ブロック内で特定の属性値を一度だけ指定します。
属性の説明
サポートされる属性のリストは、以下を参照してください。
属性値
属性値を指定すると、その値は定義ブロック内で定義されているすべてのコンポーネントに影響を及ぼします。たとえば、以下のプロパティ定義ブロックは、次のように設定します。
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
または false
である属性には、より簡単な構文を使用できます。この構文は、属性名のみの場合は true
、属性名に not
演算子 (~
) が追加されている場合は false
を意味します。次に例を示します。
methods (Static) ... end
これは、以下と同じです。
methods (Static = true) ... end
属性の名前の前に not
演算子を使用すると、false
として定義されます。
methods (~Static) ... end
これは、以下と同じです。
methods (Static = false) ... end
論理値 (true
または false
) を取るすべての属性の既定値は、false
です。したがって、属性値を true
に設定する場合のみに属性を設定します。