详谈:解释器模式(四)

在 Number 类的构造函数中,先将传入的字符转换为对应的数字。在解释时将转换后的数字返回即可。

无论是加法还是减法,他们都是对左右两个表达式进行操作,所以我们可以将计算符提取出共同的抽象父类:

复制代码
abstract class Operator implements Expression {
    Expression left;
    Expression right;

    Operator(Expression left, Expression right) {
        this.left = left;
        this.right = right;
    }
}

在此抽象父类中,我们存入了两个变量,表达计算符左右两边的表达式。

加法类实现如下:

复制代码
class Add extends Operator {

    Add(Expression left, Expression right) {
        super(left, right);
    }

    @Override
    public int intercept() {
        return left.intercept() + right.intercept();
    }
}

减法类:

复制代码
class Sub extends Operator {

    Sub(Expression left, Expression right) {
        super(left, right);
    }

    @Override
    public int intercept() {
        return left.intercept() - right.intercept();
    }
}
相关推荐
萤虫之光2 天前
详谈:解释器模式(二)
解释器模式
萤虫之光2 天前
详谈:解释器模式(一)
解释器模式
ZouZou老师5 天前
C++设计模式之解释器模式:以家具生产为例
c++·设计模式·解释器模式
o0向阳而生0o6 天前
115、23种设计模式之解释器模式(22/23)
设计模式·解释器模式
开心香辣派小星10 天前
23种设计模式-15解释器模式
java·设计模式·解释器模式
明洞日记19 天前
【设计模式手册014】解释器模式 - 语言解释的优雅实现
java·设计模式·解释器模式
十步杀一人_千里不留行1 个月前
解释器模式:为 LLM 构建迷你 DSL 解释器,实现 Prompt 编排语言
python·prompt·解释器模式
TsengOnce2 个月前
设计模式(解释器模式(Interpreter Pattern)结构|原理|优缺点|场景|示例
设计模式·解释器模式
青草地溪水旁2 个月前
第二十三章:解析天书,诠释法则——Interpreter的解释艺术
解释器模式