解释器模式

解释器模式时一种使用的比较少的行为类设计模式,也比较难以理解,但是在系统设计的时候,解释器模式则被广泛地使用了,比如说在解析文件的时候

这里举一个解释器模式的简单例子

抽象算数运算解释器
public abstract class ArithmeticExpression {
    public abstract int interpret();
}
数字解释器
public class NumExpression extends ArithmeticExpression {
    private int num;
    public NumExpression(int num) {
        this.num = num;
    }
    @Override
    public int interpret() {
        return num;
    }
}
符号解释器
public abstract class  OperatorExpression extends ArithmeticExpression {
    protected ArithmeticExpression exp1,exp2;
    public OperatorExpression(ArithmeticExpression exp1, ArithmeticExpression exp2) {
        this.exp1 = exp1;
        this.exp2 = exp2;
    }
}
加法运算解释器
public class AdditionExpression extends OperatorExpression {
    public AdditionExpression(ArithmeticExpression exp1, ArithmeticExpression exp2) {
        super(exp1, exp2);
    }

    @Override
    public int interpret() {
        return exp1.interpret() + exp2.interpret();
    }
}

这里只是举了一个简单的加法算术例子,可能会显得有些鸡肋,但是在复杂的解析当中,解释器模式会起到很好的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值