首页 > 代码库 > 抽象工厂模式
抽象工厂模式
抽象工厂模式:
1、抽象工厂模式是工厂方法模式的扩展【工厂方法模式:仅生产一种产品、抽象工厂模式:生产同一系列的多种产品】
//男孩接口 package com.wch.project; public interface BoyInterface { public void drawBoy(); } //女孩接口 package com.wch.project; public interface GirlInterface { public void drawGirl(); } //中国男孩类 package com.wch.project; public class ChineseBoy implements BoyInterface { @Override public void drawBoy() { // TODO Auto-generated method stub System.out.println("----------------chinese boy----------------"); } } //中国女孩类 package com.wch.project; public class ChineseGirl implements GirlInterface { @Override public void drawGirl() { // TODO Auto-generated method stub System.out.println("----------------chinese girl----------------"); } } //中国工厂 package com.wch.project; public class ChineseFactory implements PersonFactory { @Override public BoyInterface getBoy() { // TODO Auto-generated method stub return new ChineseBoy(); } @Override public GirlInterface getGirl() { // TODO Auto-generated method stub return new ChineseGirl(); } } //美国男孩类 package com.wch.project; public class AmericanBoy implements BoyInterface { @Override public void drawBoy() { // TODO Auto-generated method stub System.out.println("----------------American boy----------------"); } } //美国女孩类 package com.wch.project; public class AmericanGirl implements GirlInterface { @Override public void drawGirl() { // TODO Auto-generated method stub System.out.println("----------------American girl----------------"); } } //美国工厂 package com.wch.project; public class AmericanFactory implements PersonFactory { @Override public BoyInterface getBoy() { // TODO Auto-generated method stub return new AmericanBoy(); } @Override public GirlInterface getGirl() { // TODO Auto-generated method stub return new AmericanGirl(); } } //客户端调用 package com.wch.project; public class WchTest { public static void main(String[] args) throws Exception{ /*PersonFactory personFactory = new ChineseFactory(); BoyInterface boy = personFactory.getBoy(); boy.drawBoy();*/ PersonFactory personFactory = new AmericanFactory(); GirlInterface girl = personFactory.getGirl(); girl.drawGirl(); } }
抽象工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。