ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

meta.DynamicProperty

meta.DynamicProperty クラスは、MATLAB オブジェクトの動的プロパティを記述する

説明

meta.DynamicProperty クラスは、MATLAB® クラスのインスタンスに追加された動的プロパティについての記述的な情報を含みます。MATLAB クラスは、dynamicprops のサブクラスでなければなりません。meta.DynamicProperty クラスのプロパティは、クラス定義内から指定されるプロパティ属性に相当します。動的プロパティは、classdef ブロックでは定義されませんが、meta.DynamicProperty オブジェクトのプロパティを設定して属性を設定することができます。

dynamicprops クラスの addprop メソッドを使用して、動的プロパティをオブジェクトに追加します。addprop メソッドは、meta.DynamicProperty インスタンスを返します。このインスタンスは、新しい動的プロパティを表します。meta.DynamicProperty オブジェクトのプロパティを変更して、動的プロパティの属性を設定したり、set アクセス メソッドと get アクセス メソッドを追加したりすることができます。これを正規のプロパティにするには、classdef で定義します。

meta.DynamicProperty クラスをインスタンス化することはできません。meta.DynamicProperty オブジェクトを取得するには、addprop を使用しなければなりません。

動的プロパティを削除するには、meta.DynamicProperty オブジェクト上で delete ハンドル クラス メソッドを呼び出します。

addprops メソッドから meta.DynamicProperty オブジェクトを取得します。これは、meta.DynamicProperty オブジェクトの配列を返します。各動的プロパティに対して 1 つのオブジェクトが対応します。

詳細は、「動的プロパティ - インスタンスへのプロパティの追加」を参照してください。

プロパティ

プロパティ目的
Name

プロパティの名前です。

Description

現在使用されていません。

DetailedDescription

現在使用されていません。

AbortSet

true であり、このプロパティがハンドル クラスに属する場合、新しい値が現在値と同じであると MATLAB はプロパティ値を設定しません。この方法では、プロパティ PreSet イベントと PostSet イベントのトリガーを妨げます。

Abstract 属性、既定の設定 = falsetrue である場合、このプロパティは実装されません。ただし、サブクラスが具象の場合には、Abstracttrue に設定せずに、このプロパティを再定義しなければなりません。
  • Abstract プロパティは、set access または get アクセス メソッドを定義できません。「プロパティ アクセス メソッド」を参照してください。

  • Abstract プロパティは、初期値を定義できません。 「既定値を割り当てる」

  • すべてのサブクラスは、プロパティの SetAccessGetAccess 属性に、スーパークラスと同じ値を指定しなければなりません。

  • Abstract=true は、クラス属性を Sealed=false (既定の設定) とした場合に使用します。

Access

public – アクセス制限なし

protected – クラスまたはサブクラスからのアクセス

private - クラス メンバーからのアクセスのみ (サブクラスからは不可)

このプロパティに get および set アクセスのあるクラスのリスト。次の形式で meta.class オブジェクトとしてクラスを指定します。

  • 単一の meta.class オブジェクト

  • meta.class オブジェクトのセル配列。空のセル配列 {}private アクセスと同じです。

SetAccessGetAccess が同じ値をもつように設定するには、Access を使用します。SetAccessGetAccess の値を直接クエリする (Access ではない)。

Constant 属性、既定の設定 = false

クラスのすべてのインスタンスで、このプロパティの値を 1 つのみにする場合は、true に設定します。

  • サブクラスは constant プロパティを継承はしますが、変更はできません。

  • Constant プロパティは、次の値になることはできません。 Dependent

  • SetAccess は無視されます。

「定数値をもつプロパティ」を参照してください。

DefaultValue

動的プロパティは既定値を定義できないため、このプロパティをクエリすると、エラーが返されます。

DefiningClassこのプロパティを定義するクラスを表す meta.class オブジェクト。
GetAccess 属性、既定の設定 = public

public – アクセス制限なし

protected – クラスまたはサブクラスからのアクセス

private – クラス メンバーからのみアクセス

SetAccess 属性、既定の設定 = public

public – アクセス制限なし

protected – クラスまたはサブクラスからのアクセス

private – クラス メンバーからのみアクセス

Dependent 属性、既定の設定 = false

false の場合、プロパティ値はオブジェクトに保存されます。true の場合、プロパティ値はオブジェクトに保存されません。関数 set と get は、プロパティ名を使用してオブジェクトにインデックス付けする方法では、プロパティにアクセスできません。

「プロパティの get メソッド」を参照してください。

Transient 属性、既定の設定 = false

true の場合、オブジェクトがファイルに保存されるときに、プロパティ値は保存されません。オブジェクトの保存の詳細は、「保存と読み込みの処理について」を参照してください。

Hidden 属性、既定の設定 = falseプロパティがプロパティ リスト (たとえば、プロパティ インスペクター、properties の呼び出しなど) に表示されるかどうかを指定します。
GetObservable 属性、既定の設定 = falsetrue に設定されており、かつハンドル クラス プロパティである場合、このプロパティにアクセスするためのリスナーを作成できます。このリスナーは、プロパティ値がクエリされるたびに呼び出されます。「プロパティの設定とクエリのイベント」を参照してください。
SetObservable 属性、既定の設定 = falsetrue に設定されており、かつハンドル クラス プロパティである場合、このプロパティにアクセスするためのリスナーを作成できます。このリスナーは、プロパティ値が修正される場合に呼び出されます。「プロパティの設定とクエリのイベント」を参照してください。
GetMethodこのプロパティに関連付けられた get メソッドの関数ハンドル。指定された get メソッドがなければ、空です。「Get メソッドの構文」を参照してください。
SetMethodこのプロパティに関連付けられた set メソッドの関数ハンドル。指定された set メソッドがなければ、空です。「プロパティ の set メソッド」を参照してください。
HasDefault

常に false。動的プロパティは、既定値を定義できません。

イベント

プロパティ イベントの使用の詳細は、「プロパティ値変更のリスニング」を参照してください。

イベント名目的
PreGetイベントは、プロパティがクエリされる直前に発生します。
PostGetイベントは、プロパティがクエリされた直後に発生します。
PreSetイベントは、このプロパティが変更される直前に発生します。
PostSetイベントは、このプロパティが変更された直後に発生します。
ObjectBeingDestroyed関数 handle から継承します。

参考

|

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