详谈:解释器模式(四)
2026/7/12 0:45:33 网站建设 项目流程

在 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(); } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询