国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - java設計模式學習之簡單工廠模式

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

2021-01-17 14:45南國木棉 JAVA教程

這篇文章主要為大家詳細介紹了java設計模式學習之簡單工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下

簡單工廠模式

  簡單工廠模式是屬于創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬于23種GOF設計模式之一。簡單工廠模式是由一個工廠對象決定創建出哪一種產品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。

  利用簡單工廠模式設計一個計算器。

1:創建一個運算的類

java" id="highlighter_980040">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package EasyFactoryModel;
 
abstract class Operation {
 
  public double num1=0;
  public double num2=0;
  public double getNum1() {
    return num1;
  }
  public void setNum1(double num1) {
    this.num1 = num1;
  }
  public double getNum2() {
    return num2;
  }
  public void setNum2(double num2) {
    this.num2 = num2;
  }
  
  public abstract double getResult();
}

2:創建一個加法類。

?
1
2
3
4
5
6
7
8
class OpeartionAdd extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1+num2;
    return result;
  }
}

3:創建一個減法類。

?
1
2
3
4
5
6
7
8
public class OpeartionSub extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1-num2;
    return result;
  }
}

4:創建一個乘法類。

?
1
2
3
4
5
6
7
8
public class OperationMul extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1*num2;
    return result;
  }
}

5:創建一個除法類。

?
1
2
3
4
5
6
7
8
public class OperationDiv extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1/num2;
    return result;
  }
}

6:基本運算類做完之后,會發現,需要根據需要的加減乘除來實例化不同的類,此事,就需要 工廠類。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class OperationFactory {
 
  public static Operation creatOpera(String operation){
     
    Operation oper=null;
    switch(operation){
     
    case "+":oper=new OpeartionAdd();break;
    case "-":oper=new OpeartionSub();break;
    case "*":oper=new OperationMul();break;
    case "/":oper=new OperationDiv();break;
     
    }
    return oper;
  }
 
}

工廠類根據不同的操作來創建不同的對象,這里是多態的使用。

7:測試類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Calculator {
 
  public static void main(String[] args) {
    
    Operation oper;
    String operation="+";
    oper=OperationFactory.creatOpera(operation);
    oper.num1=1;
    oper.num2=2;
    double result=0;
    result=oper.getResult();
    System.out.println("result="+result);
    
  }
 
}

8:控制臺輸出:

result=3.0

優點:簡單工廠類是整個模式的關鍵,其中包含了必要的邏輯判斷,根據外部信息,決定究竟應該創建哪個具體類對象,
通過實現簡單工廠模式,用戶無需了解對象是如何創建的,只要傳入必要的信息即可。

缺點:工廠類集中了所有實例的創建邏輯,違背了高內聚分配原則。
隨著系統中具體產品類不斷增多,勢必要不斷修改工廠類,不易維護和擴展。同時也違背了開放封閉原則。

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

原文鏈接:http://www.cnblogs.com/hrlizhi/p/7600335.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久精品国产免费 | 亚洲精品字幕 | 自拍偷拍第一页 | 久久久www成人免费无遮挡大片 | 国产精品毛片久久久 | 国产精品福利91 | 免费成人小视频 | 久久这里只有精品8 | 亚洲国产二区 | 免费成人av网址 | 看免费5xxaaa毛片 | 亚洲午夜成激人情在线影院 | 日韩不卡在线 | 亚洲国产视频一区 | 国产成人精品久久二区二区91 | 免费视频黄 | 欧美视频第一页 | 午夜免费视频 | 成人精品网站在线观看 | 日本不卡高字幕在线2019 | 麻豆91在线观看 | 欧美日韩中 | 国产伦理一区 | 日本福利网站 | 日韩精品无码一区二区三区 | 国产伦精品一区二区三区 | 日韩欧美国产精品 | 国内精品一级毛片 | 精品伊人 | 成人免费看 | 亚洲综合中文字幕在线 | 一级免费片 | 精品视频一区二区三区四区 | 久久免费精品一区二区三区 | 91嫩草国产露脸精品国产 | 久久国产精品亚洲 | 999在线观看精品免费不卡网站 | 毛片在线网站 | 国产日韩一区二区三区 | www.成人 | 91精品国产91久久综合桃花 |