フィールドのカプセル化
関連項目
フィールドのカプセル化とは、あるフィールドが 1 対のアクセス用メソッドによってのみアクセスされるようにコードを再構築することです。アクセス用メソッドは、書き込み/読み取りメソッド、あるいは取得、設定メソッドのことです。
一般に、フィールドのカプセル化は、フィールドのアクセス修飾子を private に変更し、クラスの外部からそのフィールドに直接にはアクセスできないようにすることです。ほかのクラスがそのフィールドを参照するには、アクセス用メソッドの使用が必要になります。
IDE の「フィールドをカプセル化」コマンドを使用すると、次のことができます。
- フィールドに対するアクセス用メソッドを生成する。メソッドの名前は、getfield-name と setfield-name の形式になります。
- フィールドのアクセス修飾子を調整する。
- コード内のフィールドへの直接参照を、アクセス用メソッドへの呼び出しに置き換える。
フィールドをカプセル化する
- ソースエディタでフィールド、またはフィールドへの参照を右クリックして、コンテキストメニューから「リファクタリング」>「フィールドをカプセル化」を選択します。
「フィールドをカプセル化」ダイアログが開きます。
- 「カプセル化されるフィールド一覧」表で、カプセル化するフィールドのチェックボックスが選択されていることを確認します。複数のフィールドを選択できます。
- (任意) フィールドの可視性も設定できます。
- (任意) アクセス用メソッド (取得および設定メソッド) の可視性も設定できます。
- (任意) アクセス用メソッドを使用するようにコードを書き換えない場合は、「フィールドがアクセス可能な場合でもアクセス用メソッドを使う」チェックボックスの選択を解除します。
このオプションは、次の両方が真の場合にのみ意味を持ちます。
- フィールドを直接参照するようになっている。
- それらの参照を使ってクラスからフィールドが可視であるように、フィールドのアクセス修飾子を設定している。
- (任意) 変更を加える前にその変更内容を事前に確認しなくてもよい場合は、「すべての変更をプレビュー」チェックボックスの選択を解除します。
- 「次へ」をクリックします。 「すべての変更をプレビュー」チェックボックスの選択を解除すると、変更が自動的に適用され、残りの処理がすべて省略されます。
- 「リファクタリング」ウィンドウに変更対象のコード行が表示されます。表示されたコード行のリストを参照し、変更しない行がある場合はその行のチェックボックスの選択を解除してください。
- (任意) 「リファクタリング」ウィンドウに表示されたファイル名をダブルクリックすると、ファイルを開くことができます。また、行をダブルクリックすると、ファイルが開いて該当するコード行にカーソルが置かれます。
- 「リファクタリングを実行」をクリックし、選択した行に変更を加えます。
- リファクタリングを実行したあとは、必ず、完全構築を行なってください。完全構築は、「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「プロジェクトの生成物を削除して構築」を選択することによって、行うことができます。
- 関連項目
- リファクタリングの手順早見表
- スーパークラスへのクラスメンバーの移動
- サブクラスへのクラスメンバーの移動
- メソッドの署名の変更
- メソッドの抽出
- フィールド名またはメソッド名の変更
- リファクタリングでの変更の取消し
著作権と商標について