zoukankan      html  css  js  c++  java
  • Java设计模式-解释器模式(Interpreter)

    解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。

    Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:

    public interface Expression {  
        public int interpret(Context context);  
    }  
    public class Plus implements Expression {  
      
        @Override  
        public int interpret(Context context) {  
            return context.getNum1()+context.getNum2();  
        }  
    }  
    public class Minus implements Expression {  
      
        @Override  
        public int interpret(Context context) {  
            return context.getNum1()-context.getNum2();  
        }  
    }  
    public class Context {  
          
        private int num1;  
        private int num2;  
          
        public Context(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;  
        }  
          
          
    }  
    public class Test {  
      
        public static void main(String[] args) {  
      
            // 计算9+2-8的值  
            int result = new Minus().interpret((new Context(new Plus()  
                    .interpret(new Context(9, 2)), 8)));  
            System.out.println(result);  
        }  
    }  

    最后输出正确的结果:3。

  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4508617.html
Copyright © 2011-2022 走看看