首页 > 代码库 > 简单工厂和工厂模式的合并对比代码
简单工厂和工厂模式的合并对比代码
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | public class Factory2 { /** * @param args 工厂模式 */ public static void main(String[] args) { // TODO Auto-generated method stub //工厂模式 Ifactory ifactory = new people1factory(); leifeng student=ifactory.creatLeifeng(); student.wash(); student.buy(); System.out.println( "***************" ); //简单工厂模式 leifeng student1=simplyfactory.creLeifeng( "people1" ); student1.wash(); student1.buy(); } } //****************************************************************************** class leifeng{ //雷锋类 public void wash() { System.out.println( "洗" ); } public void buy() { System.out.println( "买" ); } } class people1 extends leifeng{ public void wash() { System.out.println( "洗1" ); } } //人员1 class people2 extends leifeng{ public void wash() { System.out.println( "洗2" ); } } //人员2 //****************************************************************************** //工厂模式 interface Ifactory{ //接口工厂 leifeng creatLeifeng(); } //1工厂实现了工厂接口,生产人员1 class people1factory implements Ifactory{ @Override public leifeng creatLeifeng() { // TODO Auto-generated method stub return new people1(); } } //2工厂实现了工厂接口,生产人员2 class people2factory implements Ifactory{ @Override public leifeng creatLeifeng() { // TODO Auto-generated method stub return new people2(); } } //*********************************************************************************** //简单工厂模式 class simplyfactory{ public static leifeng creLeifeng(String type) { leifeng resuLeifeng= null ; switch (type) { case "people1" : resuLeifeng= new people1(); break ; case "people2" : resuLeifeng= new people2(); break ; } return resuLeifeng; } } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。