随笔 - 117  文章 - 72  trackbacks - 0

声明:原创作品(标有[原]字样)转载时请注明出处,谢谢。

常用链接

常用设置
常用软件
常用命令
 

订阅

订阅

留言簿(7)

随笔分类(130)

随笔档案(123)

搜索

  •  

积分与排名

  • 积分 - 154341
  • 排名 - 389

最新评论

[关键字]:java,design pattern,设计模式,《Java与模式》,Abstract Factory,抽象工厂模式
[环境]: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();

        //创建Unix产品
        Button btn1 = unix.createButton();
        Text text1 = unix.createText();

        System.out.println("");

        //创建Windows产品
        Button btn2 = win.createButton();
        Text text2 = win.createText();
    }
}

//产品等级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);
    }
}

//产品等级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 天堂露珠 阅读(1357) 评论(0)  编辑  收藏 所属分类: Pattern

只有注册用户登录后才能发表评论。


网站导航: