打字猴:1.700465813e+09
1700465813
1700465814 运行结果与方案一相同。我们想想看,在该策略模式的一个具体应用中,我们使用Context准备了一组算法(加法和减法),并封装了起来,具体使用哪一个策略(加法还是减法)则由上层模块声明,这样扩展性非常好。
1700465815
1700465816 现在只剩最后一个方案了,一般最后出场的都是重量级的人物,压场嘛!那就请出我们最后一个重量级角色,音乐响起,一个黑影站定舞台中央,所有灯光突然聚焦,主角缓缓抬起头,它就是——策略枚举!我们来看看其真实实力,如代码清单18-18所示。
1700465817
1700465818 代码清单18-18 策略枚举
1700465819
1700465820 public enum Calculator{
1700465821
1700465822 //加法运算
1700465823
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 }
[ 上一页 ]  [ :1.700465813e+09 ]  [ 下一页 ]