B擴展A,C延伸的動態與子類裝訂 「沒有合適的方法找到了」
試圖改變:
public void convertA(A a) {
AClass clazz = new AClass();
if (a instanceof B) {
clazz.setX(convertBtoX(a));
} else if (a instanceof C) {
clazz.setY(convertCtoY(a));
}
}
到
public void convertAbis(A a) {
AClass clazz = fill(a); //ERROR NO SUITABLE METHOD FOUND FOR FILL
}
public AClass fill(B b) {
clazz.setX(convertBtoX(b));
}
public AClass fill(C c) {
clazz.setY(convertCtoY(c));
}
的結果是「沒有合適的方法找到填充「的錯誤。 我怎樣才能刪除「實例」開關? A,B,C是Data Trasfer Object,不應該知道X Y,反之亦然,因此我不能簡單地將填充方法添加到A,B,C類。
對此提出建議?
「A,B,C是Data Trasfer Object,不應該知道X Y,反之亦然,所以我不能簡單地將填充方法添加到A,B,C類。」 – 2015-03-13 09:29:36