Java设计模式《二十三》解释器模式
2017-04-22 15:03
267 查看
//解释器模式 给一个语言 定义它的文法的一种表示 并定义一个解释器 这个解释器使用该表示解释语言中的句子 文法按照一定规则将指向不同动作的字符拼接成一个字符串 供解释器分析成具体动作 //表达式 public abstract class Exception{ //解释器模式 public void Intepret(PlayContext context){ if(context.getText().length()==0){ return ; }else{ String playKey = context.getText().subString(0,1); context.setText(context.getText().subString(2)); double playValue =Double.parseDouble(context.getText().subString(0,context.getText().indexOf(""))); //由于传进来的是引用 此处修改了演奏内内容 contex.setText(contex.getText().subString(contex.getText().indexOf("")+1); execute(playKey,playValue); } } //抽象方法执行 不同的方法子类有不同的执行处理 public abstract void execute(String key,double value); } public Note extends Expression{ public void excute(String key, double value) { String note = ""; if(key.equals("C")){ note = "1"; }else if(key.equals("D")){ note = "2"; }else if(key.equals("E")){ note = "3"; }else if(key.equals("G")){ note = "5"; }else if(key.equals("A")){ note = "6"; }else if(key.equals("B")){ note = "7"; } System.out.println(note + " "); } } /** * 音阶类 */ class Scale extends Expression { @Override public void excute(String key, double value) { String scale = ""; switch ((int)value) { case 1: scale = "low"; break; case 2: scale = "mid"; break; case 3: scale = "high"; break; } System.out.println(scale + " "); } } /** * 速度类 */ class Speed extends Expression { @Override public void excute(String key, double value) { String speed; if(value < 500) speed = "slow"; else if(value >= 1000) speed = "quick"; else speed = "normal"; System.out.println(speed + " "); } } /** * 解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器, * 这个解释器使用该表示来解释语言中的句子。 * * 文法:按一定规则将执行不同动作的字符拼接成一个字符串,供解释器分析成具体动作。 */
相关文章推荐
- Java设计模式(二十三)----解释器模式
- 浅谈Java设计模式(二十三)解释器模式(Interpreter)
- JAVA--解释器模式(Interpreter)--设计模式二十三
- Java开发中的23种设计模式之二十三:解释器模式(Interpreter)
- 步步为营 .NET 设计模式学习笔记 二十三、Interpreter(解释器模式)
- java设计模式——解释器模式
- java设计模式_解释器模式
- 设计模式之第5章-解释器模式(Java实现)
- 步步为营 .NET 设计模式学习笔记 二十三、Interpreter(解释器模式)
- Java私塾:研磨设计模式 之 解释器模式(Interpreter)1
- Java设计模式菜鸟系列(二十)解释器模式建模与实现
- java设计模式23——解释器模式(Interpreter)
- JAVA设计模式(十五)——解释器模式
- Java设计模式之十七(解释器模式)
- Java设计模式菜鸟系列(二十三)访问者模式建模与实现
- 设计模式笔记(二十三) —— 解释器模式
- Java设计模式十四:解释器模式(Interpreter)
- JAVA设计模式十五:--Interpreter(解释器模式)
- JAVA 设计模式 解释器模式
- [译]Java设计模式之解释器