有趣的Java - 简单使用enum实现策略模式Strategy

2014-11-24 03:14:14 · 作者: · 浏览: 0

定义两个数的操作:

public interface Operate {

public double operate(double a, double b);

}

加、减、乘、除实现:

public enum OpeateStrategy implements Operate {

ADD() {

@Override

public double operate(double a, double b) {

return a + b;

}

}

,

SUB() {

@Override

public double operate(double a, double b) {

return a - b;

}

}

,

MULI() {

@Override

public double operate(double a, double b) {

return a * b;

}

}

,

DIV() {

@Override

public double operate(double a, double b) {

return a / b;

}

}

}

test:

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

Operate operate = OpeateStrategy.ADD;

System.out.println(operate.operate(3, 2));

System.out.println(OpeateStrategy.MULI.operate(3, 2));

}

}

当然我认为这种实现只适合于很简单很单纯的策略模式,复杂的另行考虑