zoukankan      html  css  js  c++  java
  • java学习笔记-设计模式14(策略模式)

    意图

      定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

      策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。

    public interface ICalculator {  
        public int calculate(String exp);  
    }  
    public abstract class AbstractCalculator {  
          
        public int[] split(String exp,String opt){  
            String array[] = exp.split(opt);  
            int arrayInt[] = new int[2];  
            arrayInt[0] = Integer.parseInt(array[0]);  
            arrayInt[1] = Integer.parseInt(array[1]);  
            return arrayInt;  
        }  
    } 
    public class Plus extends AbstractCalculator implements ICalculator {  
      
        @Override  
        public int calculate(String exp) {  
            int arrayInt[] = split(exp,"\+");  
            return arrayInt[0]+arrayInt[1];  
        }  
    } 
    public class Minus extends AbstractCalculator implements ICalculator {  
      
        @Override  
        public int calculate(String exp) {  
            int arrayInt[] = split(exp,"-");  
            return arrayInt[0]-arrayInt[1];  
        }  
      
    }  
    

    测试

    public class StrategyTest {  
      
        public static void main(String[] args) {  
            ICalculator cal = new Plus();  
            int result = cal.calculate( "2+8");  
            System.out.println(result);  
        }  
    }  
    

     

      转自:http://blog.csdn.net/zhangerqing/article/details/8243942

  • 相关阅读:
    Linux新手随手笔记2.4-使用DHCP动态管理主机地址
    在word中输入任意角度旋转图片
    VBA注释临时
    VBA改写VBA代码
    【转载】robocopy的用法
    Excel数组排序+图片统一大小
    一键调节音量
    合并文档时让第一页为奇数
    智能跳转---TC资源管理器
    win7一键拖动生成快速启动栏
  • 原文地址:https://www.cnblogs.com/gxl00/p/5018566.html
Copyright © 2011-2022 走看看