Java设计模式(十二)解释器模式

(二十三)解释器模式

解释器模式和命令模式一样,都产生一个可执行的对象。解释器模式不同的是创建了一个类层次,该层次中的每个类都实现或者解释了一个公共操作。解释器模式可以让你根据创建的类的层次结构来组合可执行对象。层次结构中的每个类都实现了一个公共操作 。

class Calculator{
	private int num1;
	private int num2;
	public Calculator(int num1,int num2){
		this.num1 = num1;
		this.num2 = num2;
	}
	public int getNum1() {
		return num1;
	}
	public void setNum1(int num1) {
		this.num1 = num1;
	}
	public int getNum2() {
		return num2;
	}
	public void setNum2(int num2) {
		this.num2 = num2;
	}
}
interface Expression{
	public int interpret(Calculator cal);
}
class IPlus implements Expression{
	public int interpret(Calculator cal){
		return cal.getNum1() + cal.getNum2();
	}
}
class IMinue implements Expression{
	public int interpret(Calculator cal){
		return cal.getNum1() - cal.getNum2();
	}
}
public class InterpreterTest {
	public static void main(String[] args){
		Expression ex = new IPlus();
		Calculator cal = new Calculator(10, 2);
		
		System.out.println(new IMinue().interpret(new Calculator(new IPlus().interpret(new Calculator(22, 45)),25)));
	}
}
每个类的名称通常暗指该类所要实现的或要解释的通用操作,每个类要么定义合成命令的方式,要么表示执行某些操作的终端命令。设计解释器常常会引入变量,以及布尔或者算数表达式。解释器也经常和解析器一起使用,用来创建一个轻量级的语言,简化新的解释器对象的创建。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值