隨筆 - 117  文章 - 72  trackbacks - 0

          聲明:原創(chuàng)作品(標(biāo)有[原]字樣)轉(zhuǎn)載時(shí)請注明出處,謝謝。

          常用鏈接

          常用設(shè)置
          常用軟件
          常用命令
           

          訂閱

          訂閱

          留言簿(7)

          隨筆分類(130)

          隨筆檔案(123)

          搜索

          •  

          積分與排名

          • 積分 - 156113
          • 排名 - 390

          最新評論

          [關(guān)鍵字]:java,design pattern,設(shè)計(jì)模式,《Java與模式》,Abstract Factory,抽象工廠模式
          [環(huán)境]:StarUML5.0 + JDK6
          [作者]:Winty (wintys@gmail.com)
          [正文]:

          /**
           * 抽象工廠:Button and Text of Windows and Unix
           * @version 2009-4-11
           * @author Winty(wintys@gmail.com)
           */
          package pattern.abstractfactory;
          public class AbstractFactory{
              public static void main(String[] args){
                  Factory unix , win;
                  unix = new UnixFactory();
                  win = new WindowsFactory();

                  //創(chuàng)建Unix產(chǎn)品
                  Button btn1 = unix.createButton();
                  Text text1 = unix.createText();

                  System.out.println("");

                  //創(chuàng)建Windows產(chǎn)品
                  Button btn2 = win.createButton();
                  Text text2 = win.createText();
              }
          }

          //產(chǎn)品等級1
          abstract class Button{
              protected String type;

              public Button(){
                   type = "Button";
              }
          }

          class UnixButton extends Button{
              public UnixButton(){
                  System.out.println("Unix" + type);
              }
          }

          class WindowsButton extends Button{
              public WindowsButton(){
                  System.out.println("Windows" + type);
              }
          }

          //產(chǎn)品等級2
          abstract class Text{
              protected String type;
             
              public Text(){
                  type = "Text";
              }
          }

          class UnixText extends Text{
              public UnixText(){
                  System.out.println("Unix"+type);
              }
          }

          class WindowsText extends Text{
              public WindowsText(){
                  System.out.println("Windows"+type);
              }
          }

          //抽象工廠
          abstract class Factory{
              public abstract Button createButton();
              public abstract Text createText();
          }

          class UnixFactory extends Factory{
              public Button createButton(){
                  return new UnixButton();
              }

              public Text createText(){
                  return new UnixText();
              }
          }

          class WindowsFactory extends Factory{
              public Button createButton(){
                  return new WindowsButton();
              }

              public Text createText(){
                  return new WindowsText();
              }
          }
          posted on 2009-04-14 19:25 天堂露珠 閱讀(1365) 評論(0)  編輯  收藏 所屬分類: Pattern
          主站蜘蛛池模板: 翼城县| 大足县| 玛曲县| 樟树市| 绩溪县| 海丰县| 岱山县| 华池县| 宜都市| 聂拉木县| 醴陵市| 张家口市| 京山县| 石棉县| 洪洞县| 山东省| 万山特区| 太谷县| 克什克腾旗| 于都县| 雷州市| 昭觉县| 南华县| 泽库县| 阿拉尔市| 山东| 清原| 贵德县| 武隆县| 浦县| 乐平市| 集安市| 修文县| 临沭县| 临猗县| 常宁市| 文安县| 田林县| 深泽县| 江山市| 丰都县|