天天看点

java多态 方法表,Java多态方法

访客模式在这里有用吗?

类操作可以声明一个接受访问者对象的方法,子类可以提供实现:

public interface IOperationVisitor {

public void visit (OperationActivation visited);

public void visit (OperationPayment visited);

public void visit (OperationSendEmail visited);

}

abstract class Operation {

public void accept(IOperationVisitor visitor)();

}

class OperationActivation extends Operation {

public void accept(IOperationvisitor visitor) {

visitor.visit(this);

}

}

同样,为类OperationPayment和OperationSendEmail定义“接受”方法。

现在,您的类可以实现访问者:

public class ProcessOperationService implements IOperationVisitor {

public void processOperation(Operation operation) {

operation.accept(this);

}

public void visit (OperationActivation visited) {

// Operation Activation specific implementation

}

public void visit (OperationPayment visited) {

// OperationPayment specific implementation

}

public void visit ((OperationSendEmail visited) {

// (Operation SendEmail specific implementation

}

}