ドキュメンテーション

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

プロパティを定義する

プロパティ定義ブロック

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

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

既定値を割り当てる

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

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

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

プロパティにアクセスする構文は、MATLAB 構造体のフィールド構文と類似しています。たとえば、Coefficients プロパティを定義する polyno と呼ばれる多項式クラスがあるものとします。次のように、polyno オブジェクト p を作成する場合を考えます。

p = polyno([1 0 -2 -3]); % Create an instance p (this code does not execute)

このプロパティには、以下のようにアクセスできます。

c = p.Coefficients; % Assign the current property value to c
p.Coefficients = [4 0 -2 3 5]; % Assign new property values

プロパティへのアクセス時には、MATLAB によってプロパティが必要とするすべての操作が実行されます。たとえば、プロパティの set アクセス メソッドまたは get アクセス メソッドの実行や、プロパティのアクセス イベントのトリガーなどです。

プロパティに setget メソッドを定義する方法の詳細は、「プロパティの Set/Get インターフェイスの実装」を参照してください。

プロパティの継承

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

プロパティ属性の指定

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

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

すべてのプロパティ属性のリストについては、「プロパティの属性」を参照してください。

この情報は役に立ちましたか?