策略枚举

要介绍策略枚举,先要了解下策略模式。策略模式另外介绍。
使用枚举在一个类中实现所有的功能及不同的角色。

public enum StrategyEnum {
    ADDoperation("+"){
        @Override
        public int exec(int a, int b) {
            return a+b;
        }
    },
    SUBTRACTIONOPERATION("-"){
        @Override
        public int exec(int a, int b) {
            return a-b;
        }
    },
    multiplicationoperation("*"){
        @Override
        public int exec(int a, int b) {
            return a*b;
        }
    };
    public abstract int exec(int a,int b);
    private String value;

    StrategyEnum(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}
@Test
    public void testEnum() {
        int exec = StrategyEnum.ADDoperation.exec(10, 10);
        System.out.println(StrategyEnum.SUBTRACTIONOPERATION.getValue()+exec);
    }

在枚举类中,定义的抽象方法相当于策略接口,每个枚举是具体角色及其策略实现。

posted @ 2017-11-13 20:29  kivi2  阅读(837)  评论(0编辑  收藏  举报