定义两个数的操作:
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));
}
}
当然我认为这种实现只适合于很简单很单纯的策略模式,复杂的另行考虑