ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

プロパティ構文

プロパティ定義ブロック

次の図は、プロパティの標準的な指定を示しています。キーワード propertiesend は、同じ属性設定をもつ、プロパティを定義するコード ブロックを表します。

メモ

プロパティはクラスと同じ名前をもつことはできません。

例については、単純なクラスの作成を参照してください。

既定値を割り当てる

前述の例では、Coefficients プロパティに既定値 [0 0 1] が指定されています。

プロパティ値は、MATLAB® 式を使用して初期化できます。ただし、これらの式は、クラスの静的メソッドを除き、何らかの形で定義を行っているクラスの参照はできません。MATLAB は、クラスの初期化時のみに初期プロパティ値を作成する式を実行します。クラスの初期化は、クラスを最初に使用する直前に発生します。MATLAB が既定値の表現を評価する方法の詳細は、プロパティの既定値を参照してください。

行ごとに 1 つのプロパティを定義

プロパティ名は別々の行にリストされていなければなりません。MATLAB はプロパティ名に続く名前をクラス名として解釈します。

プロパティ値の制限

クラスをプロパティ定義のプロパティに関連付けることにより、プロパティ値を制限できます。たとえば、MyData の定義では、このプロパティに代入される値が int32 型または int32 と互換性のある型でなければならないことを要求しています。

properties
   MyData int32
end

詳細については、プロパティ値の検証を参照してください。

プロパティ値へのアクセス

プロパティにアクセスする構文は、MATLAB 構造体のフィールド構文と類似しています。たとえば、obj がクラスのオブジェクトであれば、プロパティ名を参照することでプロパティの値を取得できます。

val = obj.PropertyName

等号の左側にプロパティ参照を置くことにより、プロパティに値を代入します。

obj.PropertyName = val

プロパティにアクセスすると、MATLAB はプロパティの set または get アクセス メソッドをすべて実行し、有効なプロパティ イベントをすべてトリガーします。

プロパティの継承

1 つのクラスを別のクラスから派生する場合、派生クラス (サブクラス) は、スーパークラスのすべてのプロパティを継承します。一般に、サブクラスでは、そのクラスに固有のプロパティのみが定義されます。スーパークラスでは、複数のサブクラスが使用するプロパティが定義されます。

プロパティ属性の指定

properties キーワードで指定される属性は、そのブロックに続くすべてのプロパティ定義に適用されます。ある特定のプロパティのみに属性の設定を適用するには、properties キーワードを再び使用して別のブロックを作成します。

たとえば、以下のコードでは、IndependentVarOrder プロパティに対しては、SetAccess 属性が private に設定されますが、Coefficients プロパティに対してはこの設定は行われません。

特定のクラスのプロパティについての詳細は、関数 properties を使用してください。

関連するトピック