getter メソッドと setter メソッドについて

getter メソッドと setter メソッドはアクセサメソッドで、通常は、プライベートクラスメンバーを変更するためのパブリックインターフェイスです。プロパティは getter メソッドおよび setter メソッドを使用して定義されます。getter メソッドと setter メソッドは、クラス内にはメソッドとして定義しますが、クラスの外側からはプロパティとしてアクセスされます。クラス外に対するプロパティ名には、クラス内で使用するプロパティ名とは異なる名前を付けることができます。

getter メソッドと setter メソッドを使用することにはいくつかのメリットがあり、たとえば、プロパティとしてアクセスできる高機能なメンバーを作成することができます。また、読み取り専用プロパティや書き込み専用プロパティを作成することもできます。

getter メソッドと setter メソッドは便利ですが、多用しすぎるとコードの保守が困難になる場合もあるので注意が必要です。また、この 2 つのメソッドを使用すると、パブリックメンバーにアクセスするようにしてクラス実装にアクセスできます。OOP の慣例では、クラス内のプロパティに直接アクセスすることは推奨されません。

クラスを記述する際は、できる限り、インスタンス変数をプライベートで宣言してから、getter メソッドと setter メソッドを追加するようにします。これは、クラス内の特定の変数をユーザーが変更することのないようにするためです。たとえば、特定クラスで作成されたインスタンスの数を追跡するプライベート静的メソッドがある場合、ユーザーがコードを使用してこの数を変更できないようにすることが必要です。この変数をインクリメントするタイミングは、コンストラクタステートメントが呼び出されたときにだけにする必要があります。この場合、プライベートインスタンス変数を作成して、getter メソッドだけでしかアクセスできないようにします。ユーザーは getter メソッドを使用して現在値を取得するだけです。setter メソッドは使用できないので数は変更できません。クラス内の特定の変数を読み取り専用にする簡単な方法は、setter なしで getter を作成することです。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000783.html