码迷,mamicode.com
首页 > 其他好文 > 详细

《设计模式之禅》--策略扩展:策略枚举

时间:2018-02-11 16:15:55      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:计算   abs   ring   title   [1]   枚举   []   page   pre   

接上篇《设计模式之禅》--代理扩展:动态代理

需求:加减法计算

public enum Calculator {
    //加法运算
    ADD("+") {
        public int exec(int a, int b) {
            return a + b;
        }
    },
    //减法运算
    SUB("-") {
        public int exec(int a, int b) {
            return a - b;
        }
    };
    String value = "";

    //定义成员值类型
    private Calculator(String _value) {
        this.value = _value;
    }

    //获得枚举成员的值
    public String getValue() {
        return this.value;
    }

    //声明一个抽象函数
    public abstract int exec(int a, int b);
}

调用

public class Client {
    public static void main(String[] args) {
        //输入的两个参数是数字
        int a = Integer.parseInt(args[0]);
        String symbol = args[1]; //符号
        int b = Integer.parseInt(args[2]);
        System.out.println("输入的参数为:" + Arrays.toString(args));
        System.out.println("运行结果为:" + a + symbol + b + "=" + Calculator.ADD.exec(a, b));
    }
}

关键

Calculator.ADD.exec(a, b)

《设计模式之禅》--策略扩展:策略枚举

标签:计算   abs   ring   title   [1]   枚举   []   page   pre   

原文地址:https://www.cnblogs.com/anni-qianqian/p/8442124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!