IntelliJ IDEA提取方法對象重構
"提取方法對象重構" 將方法移動到一個新類中,將所有局部變量轉換為其字段,從而允許您將該方法分解為同一對象上的其他方法。它是提取方法的替代,并且可以在提取的方法中具有多個返回值時使用。
示例
重構前
|
重構后
|
class Account {
int gamma (int val1, ...) {
//some computations
return c-2*a;
}
}
|
class Account {
int gamma (int val1, ...) {
Calculations calculations = new Calculations(val1, ...).invoke();
int c = calculations.getC();
int a = calculations.getA();
return c-2*a;
}
private class Calculations {
private int val1;
...
private int a;
private int c;
public Calculations(int val1, ...) {
this.val1 = val1;
...
}
public int getA() {return a;}
public int getC() {return c;}
public Calculations invoke() {
...//computations
return this;
}
}
}
|
若要提取方法對象,請按照下列步驟操作:
⒈ 在編輯器中,選擇要提取到對象中的方法代碼塊。
⒉ 在主菜單上,或從選擇的上下文菜單中選擇:重構| 提取| 方法對象。
⒊ 選擇是否要創建內部類或匿名類。
如果所選的方法代碼塊包含應單獨訪問的局部變量,則不能將該方法對象提取到匿名類中。在這種情況下,可以將方法對象提取到內部類中,該類將包含所需的getter。
⒋ 如果要創建內部類,則需要指定類的名稱和可見性范圍。如果需要,您也可以將該類設為靜態。
⒌ 如果你想創建一個匿名類,你應該指定方法的名稱。
⒍ 在 "參數" 區域中選擇將被用作參數的變量。
⒎ 審閱簽名預覽并單擊 "確定"。