中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java工廠設計模式的代碼怎么寫

發布時間:2022-03-04 17:19:50 來源:億速云 閱讀:172 作者:iii 欄目:web開發

這篇“Java工廠設計模式的代碼怎么寫”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java工廠設計模式的代碼怎么寫”文章吧。

  實現方法

  我們將創建一個Shape接口和實現Shape接口的具體類。一個工廠類ShapeFactory會在下一步中定義。

  FactoryPatternDemo這是一個演示類,將使用ShapeFactory來獲取一個Shape對象。它會將信息(CIRCLE/RECTANGLE/SQUARE)傳遞給ShapeFactory以獲取所需的對象類型。

  實現工廠模式的結構如下圖所示-

  java-61.jpg

  第1步

  創建一個接口-

  Shape.java

  publicinterfaceShape{

  voiddraw();

  }

  第2步

  創建實現相同接口的具體類。如下所示幾個類-

  Rectangle.java

  publicclassRectangleimplementsShape{

  @Override

  publicvoiddraw(){

  System.out.println("InsideRectangle::draw()method.");

  }

  }

  Square.java

  publicclassSquareimplementsShape{

  @Override

  publicvoiddraw(){

  System.out.println("InsideSquare::draw()method.");

  }

  }

  Circle.java

  publicclassCircleimplementsShape{

  @Override

  publicvoiddraw(){

  System.out.println("InsideCircle::draw()method.");

  }

  }

  第3步

  創建工廠根據給定的信息生成具體類的對象。

  ShapeFactory.java

  publicclassShapeFactory{

  //usegetShapemethodtogetobjectoftypeshape

  publicShapegetShape(StringshapeType){

  if(shapeType==null){

  returnnull;

  }

  if(shapeType.equalsIgnoreCase("CIRCLE")){

  returnnewCircle();

  }elseif(shapeType.equalsIgnoreCase("RECTANGLE")){

  returnnewRectangle();

  }elseif(shapeType.equalsIgnoreCase("SQUARE")){

  returnnewSquare();

  }

  returnnull;

  }

  }

  第4步

  使用工廠通過傳遞類型等信息來獲取具體類的對象。

  FactoryPatternDemo.java

  publicclassFactoryPatternDemo{

  publicstaticvoidmain(String[]args){

  ShapeFactoryshapeFactory=newShapeFactory();

  //getanobjectofCircleandcallitsdrawmethod.

  Shapeshape1=shapeFactory.getShape("CIRCLE");

  //calldrawmethodofCircle

  shape1.draw();

  //getanobjectofRectangleandcallitsdrawmethod.

  Shapeshape2=shapeFactory.getShape("RECTANGLE");

  //calldrawmethodofRectangle

  shape2.draw();

  //getanobjectofSquareandcallitsdrawmethod.

  Shapeshape3=shapeFactory.getShape("SQUARE");

  //calldrawmethodofcircle

  shape3.draw();

  }

  }

  第5步

  驗證輸出結果如下-

  InsideCircle::draw()method.

  InsideRectangle::draw()method.

  InsideSquare::draw()method.

Java工廠設計模式的代碼怎么寫

以上就是關于“Java工廠設計模式的代碼怎么寫”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东宁县| 祁东县| 团风县| 于都县| 绍兴市| 怀宁县| 肃南| 津南区| 南京市| 隆林| 安多县| 南充市| 鱼台县| 东至县| 江达县| 兰溪市| 北碚区| 柳林县| 新龙县| 襄垣县| 应城市| 雅安市| 岐山县| 定结县| 平凉市| 东港市| 新巴尔虎左旗| 监利县| 天峨县| 酒泉市| 龙陵县| 南充市| 丹阳市| 长宁区| 九龙城区| 彭阳县| 西贡区| 比如县| 犍为县| 林州市| 综艺|