public abstract class Expression {
public abstract void explain(Context context);
}
public class MyExpression extends Expression {
@Override
public void explain(Context context) {
System.out.println("我的解释器");
}
}
public class YouExpression extends Expression {
@Override
public void explain(Context context) {
System.out.println("你的解释器");
}
}
public class Context {
private String input;
public String getInput() {
return input;
}
public void setInput(String input) {
this.input = input;
}
}
public class RunMain {
public static void main(String[] args) {
Context context = new Context();
List<Expression> expressions = new ArrayList<>();
expressions.add(new MyExpression());
expressions.add(new YouExpression());
for (Expression expression : expressions) {
expression.explain(context);
}
}
}
一、概念解释器模式,给定一个语句,定义它的一种表示,并定义一个解释器,这个解释器使用该表示来解释语句。比如正则表达式。二、代码示例public abstract class Expression { public abstract void explain(Context context);}public class MyExpression extends Expression { @Override public void explain(Context c