package com.cheng.bigtalkdesignpatterns.interpreter;
/**
* 表达式类(AbstractExpression)
*/
public abstract class Expression {
// 解释器
public void interpret(PlayContext context) {
if (context.getPlayText().length() == 0) {
return;
} else {
String palyKey = context.getPlayText().substring(0, 1);
context.setPlayText(context.getPlayText().substring(2));
double playValue = Double.parseDouble(
context.getPlayText().substring(0, context.getPlayText().indexOf(" ")));
context.setPlayText(context.getPlayText().substring(
context.getPlayText().indexOf(" ") + 1));
execute(palyKey, playValue);
}
}
// 执行
public abstract void execute(String key, double value);
}