プロパティの使用方法
プロパティとは
プロパティは、クラスのインスタンスに属するデータをカプセル化します。プロパティに含まれるデータは、パブリック、保護、またはプライベートに設定できます。データは、定数値のセットとして固定することも、他の値に依存させ、クエリ時のみに計算することもできます。このようなプロパティの動作の制御は、プロパティ属性の設定およびプロパティ固有のアクセス メソッドの定義によって行います。
オブジェクト プロパティのフレキシビリティ
プロパティは、いくつかの点で struct
オブジェクトのフィールドに似ています。しかし、オブジェクト プロパティにデータを格納すると、さらにフレキシビリティがあります。プロパティにより以下のことが可能になります。
クラス定義の外部では変更できない定数値を定義する。定数値をもつクラス プロパティの定義を参照してください。
他のデータの現在値に基づき、それ自体のプロパティ値を計算する。依存プロパティの特徴を参照してください。
値割り当てを試みる場合に、条件が満たされているかどうかを判定する関数を実行する。プロパティの get メソッドおよび set メソッドを参照してください。
値の取得または設定が試みられたときに、イベントを通知する。プロパティの設定とクエリのイベントを参照してください。
コードによりプロパティ値へのアクセスを制御する。プロパティの属性の
SetAccess
属性とGetAccess
属性を参照してください。MAT ファイル内のオブジェクトを使用してプロパティ値を保存するかどうかを制御する。オブジェクトの保存と読み込みを参照してください。
クラスを定義して使用するクラスの例については、単純なクラスの作成を参照してください。
プロパティの種類
プロパティには次の 2 種類があります。
保存されたプロパティ — メモリを使用し、オブジェクトの一部です
依存プロパティ — メモリに割り当てられず、クエリ時に get アクセス メソッドによって値が計算されます
保存されたプロパティの特徴
プロパティ値は、MAT ファイルにオブジェクトを保存する際に保存されます。
既定値をクラス定義で代入できます。
プロパティ値を特定のクラスとサイズに制限できます。
検証関数を実行して、使用可能なプロパティ値 (既定および代入) を制御できます。
set アクセス メソッドを使用して、設定時の可能な値を制御できます。
保存されたプロパティを使用する場合
MAT ファイルにプロパティ値を保存するとき
プロパティ値が他のプロパティ値には依存しないとき
依存プロパティの特徴
他の値に依存するプロパティ値は必要に応じてその都度計算できるので、メモリの節約になります。
依存プロパティを使用する場合
以下の場合は、プロパティを依存プロパティとして定義します。
他の値からプロパティ値を計算する場合 (たとえば、面積は
Width
とHeight
プロパティから計算されます)。他の値に依存して値が異なる形式になる場合。たとえば、プッシュ ボタンのサイズの値は、その
Units
プロパティの現在の設定によって決定されます。他の値に依存して特定のプロパティが使用または非使用になる標準インターフェイスがある場合。たとえば、コンピューター プラットフォームが異なると、ツール バーのコンポーネントが異なる場合などです。
依存プロパティを使用するクラスの例については、オンデマンドのデータ計算および異種混合配列のクラス階層を参照してください。