Java設計模式(行爲型)之-解釋器模式

Java設計模式(行爲型)之-解釋器模式(Interpreter)

行爲型模式分類圖:

這裏寫圖片描述

解釋器模式一般主要應用在OOP開發中的編譯器的開發中,所以適用面比較窄,類圖如下:

這裏寫圖片描述

Context類是一個上下文環境類,Plus和Minus分別是用來計算的實現,示例代碼如下:

public class ExpressionTest {

    public static void main(String[] args) {
        // 計算 9+2-8
        int result=new Minus().interpret(new Context1(new Plus().interpret(new Context1(9, 2)), 8));
        System.out.println(result);
    }
}

interface Expression{
    public int interpret(Context1 context1);
}


class Context1
{
    private int num1;
    private int num2;
    public Context1(int num1,int num2){
        this.num1=num1;
        this.num2=num2;
    }
    public int getNum1(){
        return num1;
    }
    public void setNum1(int num1){
        this.num1=num1;
    }
    public int getNum2(){
        return num2;
    }
    public void setNum2(int num2){
        this.num2=num2;
    }
}

class Plus implements Expression
{
    @Override
    public int interpret(Context1 context1) {
        int result=context1.getNum1()+context1.getNum2();
        return result;
    }   
}

class Minus implements Expression
{
    @Override
    public int interpret(Context1 context1) {
        int result=context1.getNum1()-context1.getNum2();
        return result;
    }
}

輸出結果:3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章