メンバーのスーパークラスへのプル・アップ

Javaアプリケーションを開発する際に、メンバーの定義をクラス(ソース・クラス)からそのスーパークラスの1つ(ターゲット・クラス)に簡単に移動できます。プロジェクト内にこのクラスの潜在的なターゲット・クラスが1つ以上存在する場合にのみ、この操作をクラスに適用できます。メンバーをライブラリ・クラスにプル・アップすることはできません。

デフォルトでは、メソッドをプル・アップすると、その定義はソース・クラスからターゲット・クラスに移動されます。メソッドを抽象化するように選択することもできます。この場合、メソッド定義はソース・クラスに残り、メソッドの宣言がターゲット・クラスに追加されます。メソッドを抽象化すると、ターゲット・クラスが未変換の場合は、ターゲット・クラスが抽象クラスに変換されます。

プル・アップ対象のメンバーには依存性がある場合があります。依存性がプル・アップ対象のメンバーの定義で使用されている場合、メンバーに依存性があります。依存性をプル・アップしないでメンバーをプル・アップすると、ターゲット・クラスに未定義の参照が発生します。プル・アップするメンバーを選択すると、そのメンバーの依存性が示されます。この場合、依存性もプル・アップするかどうかを選択できます。

privateとして宣言されたメンバーをプル・アップする場合、アクセスはprotectedに変更されます。

メンバーをプル・アップするには、次のようにします。

  1. メンバーのプル・アップ元であるクラスを選択します。

  2. メイン・メニューから、「リファクタ」次の選択「メンバーのプル・アップ」を選択します。

    「メンバーのプル・アップ」ダイアログが開きます。

  3. 「ターゲット」ドロップダウン・メニューからターゲット・クラスとなるスーパークラスを選択します。

  4. 「抽出するメンバー」表で、プル・アップするメンバーを選択します。

    存在する場合、選択したメンバーに依存性があるメンバーが示されます。

  5. メソッドをターゲット・クラスに抽象化する場合、「抽象」列のチェック・ボックスを選択します。

    注意: 抽象化されるメンバーには依存性はありません。

  6. メンバーのすべての依存性もプル・アップする場合は、「依存性」列のチェック・ボックスを選択します。この選択によって依存オブジェクトが生成されます。すなわち、依存性の依存性もプル・アップされます。

  7. 「OK」をクリックします。

クラスおよびインタフェースのリファクタ