メンバーを引き上げる、メンバーを引き下げる
メンバーのプルアップリファクタリングでは、2 つのクラスが同じフィールドを持つ場合はフィールドを移動し、サブクラスには同様の作業を行うメソッドがある場合はメソッドを移動します。 これは、重複したコードを取り除くのに役立ちます。 また、クラスメンバーをスーパークラスまたはインターフェースに移動することも、インターフェースをスーパーインターフェースに移動することもできます。
メンバーのプッシュダウンリファクタリングでは、クラスメンバーをサブクラスまたはサブインターフェースに移動することによって、クラス階層をクリーンアップすることができます。 メンバーは直接サブクラス / インターフェースにのみ再配置されます。 これにより、内部クラスの一貫性が向上します。
プルアップまたはプッシュダウンする項目を選択します。
メインメニューまたはコンテキストメニューから、 または を選択します。
表示されるダイアログで、リファクタリングに応じて、移動先オブジェクト、移動するメンバー、その他の追加情報を指定します。
リファクタリング(R) をクリックします。
メンバーを引き上げる例
前 | 後 |
|---|---|
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
}
public void hiddenMethod() {
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
}
|
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
public void hiddenMethod() {
}
}
|
メンバーを引き下げる例
前 | 後 |
|---|---|
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
public void hiddenMethod() {
}
}
|
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
}
public void hiddenMethod() {
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
}
|
2026 年 3 月 30 日