隨筆 - 117  文章 - 72  trackbacks - 0

          聲明:原創作品(標有[原]字樣)轉載時請注明出處,謝謝。

          常用鏈接

          常用設置
          常用軟件
          常用命令
           

          訂閱

          訂閱

          留言簿(7)

          隨筆分類(130)

          隨筆檔案(123)

          搜索

          •  

          積分與排名

          • 積分 - 156404
          • 排名 - 390

          最新評論

          [關鍵字]:java,design pattern,設計模式,《Java與模式》,Factory
          [環境]:StarUML5.0 + JDK6
          [作者]:Winty (wintys@gmail.com)
          UML圖:

          代碼:
          /**
           *工廠模式測試類
           *@version 2009-4-3
           *@author Winty(wintys@gmail.com)
           */
          package pattern.factory;

          public class Factory{
              public static void main(String[] args){
                  Fruit fruit;
                  FruitGardener fruitGardener;

                  fruitGardener = new AppleGardener();
                  fruit = fruitGardener.factory();
                  fruit.plant();
                  fruit.harvest();

                  fruitGardener = new StrawberryGardener();
                  fruit = fruitGardener.factory();
                  fruit.plant();
                  fruit.harvest();

                  fruitGardener = new GrapeGardener();
                  fruit = fruitGardener.factory();
                  fruit.plant();
                  fruit.harvest();
              }
          }

          /**
           *抽象產品
           */
          abstract class Fruit{
              protected String name;

              public abstract void plant();
              public abstract void harvest();
          }

          /**
           *具體產品(Apple)
           */
          class Apple extends Fruit{
              public Apple(){
                  name = "Apple";
              }

              @Override
              public void plant(){
                  System.out.println(name + " plant");
              }

              @Override
              public void harvest(){
                  System.out.println(name + " harvest");
              }
          }

          /**
           *具體產品(草莓)
           */
          class Strawberry extends Fruit{
               
              public Strawberry(){
                  name = "Strawberry";
              }
             
              @Override
              public void plant(){
                  System.out.println(name + " plant");
              }

              @Override
              public void harvest(){
                  System.out.println(name + " harvest");
              }
          }

          /**
           *具體產品(葡萄)
           */
          class Grape extends Fruit{
              public Grape(){
                  name = "Grape";
              }

              @Override
              public void plant(){
                  System.out.println(name + " plant");
              }

              @Override
              public void harvest(){
                  System.out.println(name + " harvest");
              }
          }


          /**
           *抽象工廠類
           */
          abstract class FruitGardener{
              public abstract Fruit factory();
          }

          /**
           *具體Apple工廠
           */
          class AppleGardener extends FruitGardener{
              @Override
              public Fruit factory(){
                  return new Apple();
              }
          }

          /**
           *具體草莓工廠
           */
          class StrawberryGardener extends FruitGardener{
              @Override
              public Fruit factory(){
                  return new Strawberry();
              }
          }

          /**
           *具體葡萄工廠
           */
          class GrapeGardener extends FruitGardener{
              @Override
              public Fruit factory(){
                  return new Grape();
              }
          }
          posted on 2009-04-14 12:32 天堂露珠 閱讀(1122) 評論(0)  編輯  收藏 所屬分類: Pattern
          主站蜘蛛池模板: 新龙县| 滕州市| 建水县| 吉安县| 万源市| 彩票| 凤山市| 霍山县| 于田县| 泰兴市| 黄石市| 浠水县| 屯昌县| 古浪县| 呼伦贝尔市| 平和县| 夏津县| 文成县| 舒城县| 叶城县| 龙里县| 张家界市| 临邑县| 肇源县| 德令哈市| 临桂县| 鲜城| 瓮安县| 铁岭市| 万山特区| 东港市| 江油市| 永清县| 十堰市| 宁强县| 静海县| 满洲里市| 乐平市| 沁阳市| 黄冈市| 瓮安县|