在Java中,我有一個名爲Operation的抽象類和三個名爲OperationActivation,OperationPayment和OperationSendEmail的子類。Java多態方法
添加來自評論:操作*對象是EJB實體Bean,所以我不能在它們內部有業務邏輯。
不,我想創建處理器類這樣的:
public class ProcessOperationService {
public void processOperation(Operation operation) {
out.println("process Operation");
process(operation);
}
public void process(OperationActivation operationActivation) {
out.println("process Activation");
}
public void process(OperationPayment operationPayment) {
out.println("process Payment");
}
public void process(OperationSendEmail operationSendEmail) {
out.println("process OperationSendEmail");
}
}
處理每個操作需要不同的邏輯,所以我想有三種不同的方法,一個用於每個操作。
當然這個代碼不會編譯。我錯過了什麼,或者它不能這樣做?
操作*對象是EJB實體Bean,所以我不能在他們裏面的業務邏輯。 – mgamer 2009-06-15 11:13:48
然後我會考慮用包含相關邏輯的對象包裝它們。這很簡單,因爲你將對象和它們的功能綁在一起,並且當你添加新的實體時,你不需要維護單獨的對象 – 2009-06-15 11:19:30