我試圖重構下一個案例:的Java /重構開關的情況下
class Gen{
public void startClick(A a, B b, List<C> lstC, SortX sort){
for (int i=0; i<lstC.size(); i++){
try{
// some code with try and catch statement
switch (sort){
case SortA:
newOne(a, b, lstc);
break;
case SortB:
otherfunction(a);
break;
case SortC:
someotherfunction(lstC, a);
break;
}
}
} catch (Exception e){ //some code}
}
}
我試圖創造和案例的對象,就像我們在這裏看到:http://sourcemaking.com/refactoring/replace-conditional-with-polymorphism
所以我創建一個對象: SortOfType
,然後對於每種情況我也創建一個對象(SortA
,SortB
,SortC
)。 SortOfType
中的函數獲取Gen
的實例,等等其他Sort對象。我不會成功的是在類Gen上調用sortOfType。我該怎麼做?這個重構是可能的嗎?
有作爲'exception'沒有這種東西的作用被稱爲界面,並沒有'lstc'變量存在。但是,有一個'Exception'和'lstC'變量。我不確定'clase'是什麼...... – Doorknob
我不太明白你在這裏試圖做什麼。你能清除那個嗎? – Woot4Moo