-
策略枚举定义
-
代码展示
package com.company.context;
/**
* @Author: Joylice
* @Date: 2019/7/31 9:48
*/
/**
* 策略枚举
*/
public enum Calculator {
/**
* 逻辑处理1
*/
ADD("+") {
@Override
public String exec(int a, int b) {
return a + value + b;
}
},
/**
* 逻辑处理2
*/
SUB("-") {
@Override
public String exec(int a, int b) {
return a +value+ b;
}
};
String value = "";
Calculator(String _value) {
this.value = _value;
}
public String getValue() {
return this.value;
}
/**
* 声明一个抽象函数
*
* @param a
* @param b
* @return
*/
public abstract String exec(int a, int b);
}
-
盘它
public static void main(String[] args) {
int a = 5;
int b = 3;
String result = Calculator.ADD.exec(a, b);
System.out.println("+结果之和:" + result);
String res = Calculator.SUB.exec(a, b);
System.out.println("-结果之差:" + res);
}
-
结果
+结果之和:5+3
-结果之差:5-3
-
注意
策略枚举是一个非常优秀和方便的模式,但是它受枚举类型的限制,每个枚举项都是 “public final static ”,扩展性受到了一定的约束,因此在系统开发中,策略枚举一般担当不经常发生变化的角色。
网友评论