1700465824
ADD(”+”){
1700465825
1700465826
public int exec(int a,int b){
1700465827
1700465828
return a+b;
1700465829
1700465830
}
1700465831
1700465832
},
1700465833
1700465834
//减法运算
1700465835
1700465836
SUB(”-“){
1700465837
1700465838
public int exec(int a,int b){
1700465839
1700465840
return a-b;
1700465841
1700465842
}
1700465843
1700465844
};
1700465845
1700465846
String value=””;
1700465847
1700465848
//定义成员值类型
1700465849
1700465850
private Calculator(String_value){
1700465851
1700465852
this.value=_value;
1700465853
1700465854
}
1700465855
1700465856
//获得枚举成员的值
1700465857
1700465858
public String getValue(){
1700465859
1700465860
return this.value;
1700465861
1700465862
}
1700465863
1700465864
//声明一个抽象函数
1700465865
1700465866
public abstract int exec(int a,int b);
1700465867
1700465868
}
1700465869
1700465870
先想一想它的名字,为什么叫做策略枚举?枚举没有问题,它就是一个Enum类型,那为什么又叫做策略呢?找找看能不能找到策略的影子在里面?是的,我们定义了一个抽象的方法exec,然后在每个枚举成员中进行了实现,如果不实现会怎么样呢?你试试看看,不实现该方法就不能编译,现在是不是清楚了?把原有定义在抽象策略中的方法移植到枚举中,每个枚举成员就成为一个具体策略。简单吧,总结一下,策略枚举定义如下:
1700465871
1700465872
❑它是一个枚举。
1700465873
[
上一页 ]
[ :1.700465824e+09 ]
[
下一页 ]