首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Interpreter形式

2012-09-03 
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言

Interpreter模式

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子

AbstractExpression.java

package com.gary.designpattern.interpreter;/** * 解释操作接口 * @author gary * */public interface AbstractExpression {public void interpret(int data);}

?

LowerCaseExpression.java

package com.gary.designpattern.interpreter;/** * 将数字解释成小写字母 * @author gary * */public class LowerCaseExpression implements AbstractExpression {@Overridepublic void interpret(int data) {System.out.println(Util.int2String(data, 49));}}

?

UpperCaseExpression.java

package com.gary.designpattern.interpreter;/** * 将数字解释成大写字母 * @author gary * */public class UpperCaseExpression implements AbstractExpression {@Overridepublic void interpret(int data) {System.out.println(Util.int2String(data, 17));}}

?

Util.java

package com.gary.designpattern.interpreter;public class Util {public static String int2String(int data, int add){StringBuffer sb = new StringBuffer();byte[] bytes = String.valueOf(data).getBytes();for (byte b : bytes) {sb.append((char)(b + add));}return sb.toString();}}

?

Test.java

package com.gary.designpattern.interpreter;/** * 测试 * @author gary * */public class Test {public static void main(String[] args) {int data = 543210;AbstractExpression upper = new UpperCaseExpression();AbstractExpression lower = new LowerCaseExpression();upper.interpret(data);lower.interpret(data);}}

?

热点排行