在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