Java工厂模式分为三种
1、简单工厂模式(又叫静态工厂模式)
代码:
package simplefactory; public interface Person { public void say(); }
package simplefactory; public class Chinese implements Person{ public void say() { System.out.println("I am Chinese."); } }
package simplefactory; public class Japanese implements Person { public void say() { System.out.println("I am Japanese."); } }
package simplefactory; public class PersonCreator { public Person createPerson(String type) { if (type.equals("chn")) { return new Chinese(); } if (type.equals("jpn")) { return new Japanese(); } return null; } }
package simplefactory; public class Test { public static void main(String[] args) { PersonCreator pc = new PersonCreator(); pc.createPerson("chn").say(); pc.createPerson("jpn").say(); } }
2、抽象工厂模式
代码:
package factorymethod public abstract class AbstractFactory { public abstract Person create(); }
package factorymethod; public class Chinese extends Person{ public void say() { System.out.println("I am Chinese."); } }
package factorymethod; public class Japanese extends Person { public void say() { System.out.println("I am Japanese."); } }
package factorymethod; public interface AbstractFactory { public Person create(); }
package factorymethod; public class ChineseFactory implements AbstractFactory { public Person create() { return new Chinese(); } }
package factorymethod; public class JapaneseFactory implements AbstractFactory { public Person create() { return new Japanese(); } }
package factorymethod; public class Test { public static void main(String[] args) { ChineseFactory cf = new ChineseFactory(); cf.create().say(); JapaneseFactory jf = new JapaneseFactory(); jf.create().say(); } }
3、抽象工厂模式
代码:
package abstractfactory; public interface Person { public void say(); }
package abstractfactory; public class Chinese implements Person{ public void say() { System.out.println("I am Chinese."); } }
package abstractfactory; public class Japanese implements Person { public void say() { System.out.println("I am Japanese."); } }
package abstractfactory; public abstract class AbstractFactory { public abstract Chinese createChinese(); public abstract Japanese createJapanese(); }
package abstractfactory; public class DefaultFactory extends AbstractFactory{ public Chinese createChinese() { return new Chinese(); } public Japanese createJapanese() { return new Japanese(); } }
package abstractfactory; public class Test { public static void main(String[] args) { AbstractFactory af = new DefaultFactory(); af.createChinese().say(); af.createJapanese().say(); } }
相关推荐
java工厂模式试学教程(视频) java工厂模式试学教程(视频)
Java工厂模式的一个例子,使用配置文件来决定具体生成的实例,拓展性强
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
java工厂模式java工厂模式
JAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.ppt
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
JAVA工厂模式工厂方法模式.pdf
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
个人写的java工厂模式例子描述,很不错的,给大家共香
Java实现的工厂模式,抽象工厂,工厂方法模式
java工厂模式的教程 教你怎么用工厂模式开发java程序
java工厂模式-简单工厂模式:入门级工厂模式使用介绍,附案例说明
java三种工厂模式文档+三个实例,里面有个word文档是学习文档 然后配套有三个项目学习
java工厂模式详细讲解: 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。
JAVA工厂模式详细讲解
java工厂模式 java工厂模式 java工厂模式
工厂模式完美实现代码,使用java,加入自己的思考方式
本实例是java做的工厂模式例子,网上大多只有文章,没有源码,我根据那些文字抽空做了简单工厂模式,工厂模式,抽象工厂三个例子。压缩包里工有三个文件夹,factory1,factory2,factory3,分别是简单工厂模式,工厂模式...
java 工厂模式等 java技术 java资料PPT