资源描述:
《设计模式--简单工厂模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1工厂设计模式完成的简单的计算器,写法简单,重点理解设计模式的思想,理解接口的作用//定义一个接口,包含一个方法,(1)publicinterfaceMeth{intmeth(inta,intb);}//编写Add(加法类),subtriate(减法类),multiple(乘法类),Chu(除法类)四个类都实现这个接口,从而这四个类产生的对象有了两个身份,这也是本设计模式的关键所在publicclassAddimplementsMeth{//做加法运算publicintmeth(inta,intb){System.o
2、ut.printf("%d+%d=%d",a,b,a+b);returna+b;}}publicclasssubtriateimplementsMeth{@Override//做减法运算publicintmeth(inta,intb){System.out.printf("%d-%d=%d",a,b,a-b);returna*b;}}publicclassmultipleimplementsMeth{@Override//做乘法运算publicintmeth(inta,intb){System.out.printf(
3、"%d*%d=%d",a,b,a*b);returnb;//TODOAuto-generatedmethodstub}}publicclassChuimplementsMeth{@Override//做除法运算publicintmeth(inta,intb){System.out.printf("%d/%d=%d",a,b,a/b);returnb;//TODOAuto-generatedmethodstub}}//写一个存储全局变量的类publicclassglobal{publicstaticfinalintad
4、d=1;publicstaticfinalintsubtriate=2;publicstaticfinalintmultiple=3;publicstaticfinalintchu=4;}//编写工厂类publicclassfactory{publicMethnewObject(inttype){//实现了接口的类,这个类的对象拥有了两个身份,它可以以接口的身份出现,Methmeth=null;switch(type){caseglobal.add:meth=newAdd();break;caseglobal.chu
5、:meth=newChu();break;caseglobal.multiple:meth=newmultiple();break;default:meth=newsubtriate();}returnmeth;}}//在这而进行测试publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.println("请你输入数1");intnum1=input.nextInt();System.out.println("请
6、你输入数字2");intnum2=input.nextInt();System.out.println("请输入运算符1+,2-,3*4/");inttype=input.nextInt();factoryfac=newfactory();Methmeth=(fac.newObject(type);meth.meth(num1,num2);}}