最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java設(shè)計模式之簡單工廠模式

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

富顺县| 彝良县| 古蔺县| 苏州市| 沙雅县| 横峰县| 广南县| 且末县| 榆树市| 株洲市| 安塞县| 安泽县| 进贤县| 淮滨县| 凤冈县| 咸阳市| 宝坻区| 磴口县| 五原县| 清徐县| 盖州市| 松原市| 宝清县| 抚州市| 云霄县| 大庆市| 墨竹工卡县| 慈利县| 安乡县| 寻甸| 宝丰县| 台州市| 淳安县| 新巴尔虎左旗| 蓬莱市| 花莲市| 乐昌市| 安陆市| 宿松县| 靖西县| 庆安县|