Java中的case语句
这个问题在这里已经有了答案:
其中一个解决方案是使用多态性以不同的方式处理触发器。 例如,你可以声明Trigger
接口并有几个实现。 在这种情况下,当您需要新的触发器类型时,您只需实现此界面并且不要触摸现有的代码:
public interface Trigger {
TriggerResultInterface execute(TriggerEventHelper eventHelper);
}
public class MetaTrigger implements Trigger {
@Override
TriggerResultInterface execute(TriggerEventHelper eventHelper) {
// do meta trigger work here
}
}
public class DataTrigger implements Trigger {
@Override
TriggerResultInterface execute(TriggerEventHelper eventHelper) {
// do data trigger work here
}
}
// ...
public TriggerResultInterface executeTriggerJob(TriggerEventHelper eventHelper) {
eventHelper.getTrigger().execute(eventHelper);
}
在这种情况下,将不可能添加新的触发器类型并且不执行其行为。
如果您需要默认实现,则可以使用基类而不是接口(在Java 8中,您可以向接口添加默认实现权限)。
链接地址: http://www.djcxy.com/p/35727.html