JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > デザインパターン > Interpreterパターン  
メニュー
Home
情報交換掲示板
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Chain Of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
  2003/07/25  田中宏和
Interpreterパターン
◆概要
言語に対して、文法表現と、それを利用して文を解釈するインタプリタを一緒に定義する
◆UML
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆概念的なソースコード
Context.java(ここからダウンロード)
public class Context {
}
AbstractExpression.java(ここからダウンロード)
abstract class AbstractExpression {
  public abstract void interpret(Context context);
}
TerminalExpression.java(ここからダウンロード)
public class TerminalExpression extends AbstractExpression {
  public void interpret(Context context) {
    System.out.println("TerminalExpression interpret(Context)メソッド");
  }
}
NonterminalExpression.java(ここからダウンロード)
public class NonterminalExpression extends AbstractExpression {
  public void interpret(Context context) {
    System.out.println("NonterminalExpression interpret(Context)メソッド");
  }
}
Client.java(ここからダウンロード)
import java.util.*;

public class Client {
  public static void main(String[] args) {
    Context c = new Context();

    ArrayList list = new ArrayList();

    list.add(new TerminalExpression());
    list.add(new NonterminalExpression());
    list.add(new TerminalExpression());
    list.add(new TerminalExpression());
    list.add(new TerminalExpression());

    for (int i=0;i<list.size();i++) {
      AbstractExpression exp = (AbstractExpression)list.get(i);
      exp.interpret(c);
    }
  }
}
 
◆実行
コマンドプロンプト
C:\JavaHello\Interpreter>javac *.java

C:\JavaHello\Interpreter>java Client
TerminalExpression interpret(Context)メソッド
NonterminalExpression interpret(Context)メソッド
TerminalExpression interpret(Context)メソッド
TerminalExpression interpret(Context)メソッド
TerminalExpression interpret(Context)メソッド

C:\JavaHello\Interpreter>

おおおお!実行できましたね!

 
 
  ネットで買えば断然お得!お買い物なら楽天市場
ツールの部屋 - Java関連の書籍 - デザインパターン - 情報交換掲示板 - HOME