抽象工厂模式抽象工厂模式
[环境]:StarUML5.0 + JDK6
/**
* 抽象工厂:Button and Text of Windows and Unix
-4-11 * @version 2009
* @author Winty(wintys@gmail.com)
*/
package pattern.abstractfactory; public class AbstractFactory{
public static void main(String[] args){
Factory unix , win...
抽象工厂模式
[环境]:StarUML5.0 + JDK6
/**
* 抽象工厂:Button and Text of Windows and Unix
-4-11 * @version 2009
* @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();
}
}
本文档为【抽象工厂模式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。