欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java設計模式之簡單工廠模式

 更新時間:2016年12月08日 17:05:41   作者:jiayayao  
這篇文章主要為大家詳細介紹了java設計模式之簡單工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在編寫一個計算器程序時,可以將業(yè)務邏輯和顯示分離,業(yè)務邏輯封裝為一個類(封裝);如果要新添加一種運算,可以先創(chuàng)建一個Operation的基類,然后各種運算從Operation類繼承,并實現GetResult()虛函數,這時添加新的運算只需要派生一個新的類,即不需要之前的運算參與編譯。如何讓計算器知道我是希望使用哪種運算呢?應該考慮單獨的類來做這個創(chuàng)造實例的過程,這就是工廠。創(chuàng)建一個OperationFactory類,傳入參數,函數createOperate就可以實例化出合適的對象。

Java代碼如下:

public class OperationFactory {
 public static abstract class Operation
 {  
  private double _numberA = 0;
  private double _numberB = 0;
  
  public double get_numberA() {
   return _numberA;
  }

  public void set_numberA(double _numberA) {
   this._numberA = _numberA;
  }

  public double get_numberB() {
   return _numberB;
  }

  public void set_numberB(double _numberB) {
   this._numberB = _numberB;
  }
  
  abstract double GetResult();
  // TODO Auto-generated constructor stub
 }
 
 public static class OperationAdd extends Operation
 {
  double GetResult() 
  {
   double result = get_numberA() + get_numberB();
   return result;
  }  
 }
 
 public static class OperationSub extends Operation
 {
  double GetResult() {
   double result = get_numberA() - get_numberB();
   return result; 
  }
 }
 
 
 public static Operation createOperate(String operate){
  Operation oper = null;
  if (operate.equals("+")) {
   oper = new OperationAdd();
  }
  else if (operate.equals("-")) {
   oper = new OperationSub();
  }

  return oper;
 }

 public static void main(String[] args) {
  Operation oper;
  oper = OperationFactory.createOperate("+");
  oper.set_numberA(1);
  oper.set_numberB(2);
  double result = oper.GetResult();
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論