IntelliJ IDEA 2026.1 Help

継承を委譲に置換

継承を委譲に置換リファクタリングを使用すると、親の機能を維持しながら、継承階層からクラスを削除できます。 IntelliJ IDEA は、以前のスーパークラスまたはインターフェースを継承するプライベート内部クラスを作成します。 親の選択されたメソッドは、新しい内部クラスを介して呼び出されます。

  1. リファクタリングするクラスを選択します。

  2. メインメニューまたはコンテキストメニューから、 リファクタリング | 継承を委譲に置換 を選択します。

  3. 開いた ダイアログで、親オブジェクト、内部クラス定義の名前を指定します。 また、内部クラスおよび getter オプションを通じて委譲される親クラスのメンバーを選択します。

  4. 変更を プレビューして適用します。

サンプル

// File Class.java public class Class extends SuperClass { public int varInt; public void openMethod() { ... } } // File SuperClass.java public abstract class SuperClass { public static final int CONSTANT=0; public abstract void openMethod(); public void secretMethod() { ... } }
// File Class.java public class Class { public int varInt; private final MySuperClass superClass = new MySuperClass(); public SuperClass getSuperClass() { return superClass; } public void openMethod() { superClass.openMethod(); } private class MySuperClass extends SuperClass { public void openMethod() { ... } } } // File SuperClass.java UNCHANGED public abstract class SuperClass { public static final int CONSTANT=0; public abstract void openMethod(); public void secretMethod() { ... } }

継承を委譲に置き換えるダイアログ

このダイアログを使用して、 継承を委譲に置換 リファクタリングのオプションを指定します。

項目

説明

委譲で継承を置換する

ここで親オブジェクトを選択し、継承が置き換えられます。

フィールド名

新しい内部クラスのフィールドの名前を指定します。

内部クラス名

このフィールドには、内部クラス定義の名前を指定します。

メンバーの委譲

この領域では、内部クラスを介して委譲される親クラスのメンバーを選択します。

委譲したコンポーネントの getter を生成

このオプションをチェックすると、内部クラスの getter が作成されます。

2026 年 3 月 30 日