資源描述:
《設(shè)計(jì)模式--簡單工廠模式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、1工廠設(shè)計(jì)模式完成的簡單的計(jì)算器,寫法簡單,重點(diǎn)理解設(shè)計(jì)模式的思想,理解接口的作用//定義一個(gè)接口,包含一個(gè)方法,(1)publicinterfaceMeth{intmeth(inta,intb);}//編寫Add(加法類),subtriate(減法類),multiple(乘法類),Chu(除法類)四個(gè)類都實(shí)現(xiàn)這個(gè)接口,從而這四個(gè)類產(chǎn)生的對(duì)象有了兩個(gè)身份,這也是本設(shè)計(jì)模式的關(guān)鍵所在publicclassAddimplementsMeth{//做加法運(yùn)算publicintmeth(inta,intb){System.o
2、ut.printf("%d+%d=%d",a,b,a+b);returna+b;}}publicclasssubtriateimplementsMeth{@Override//做減法運(yùn)算publicintmeth(inta,intb){System.out.printf("%d-%d=%d",a,b,a-b);returna*b;}}publicclassmultipleimplementsMeth{@Override//做乘法運(yùn)算publicintmeth(inta,intb){System.out.printf(
3、"%d*%d=%d",a,b,a*b);returnb;//TODOAuto-generatedmethodstub}}publicclassChuimplementsMeth{@Override//做除法運(yùn)算publicintmeth(inta,intb){System.out.printf("%d/%d=%d",a,b,a/b);returnb;//TODOAuto-generatedmethodstub}}//寫一個(gè)存儲(chǔ)全局變量的類publicclassglobal{publicstaticfinalintad
4、d=1;publicstaticfinalintsubtriate=2;publicstaticfinalintmultiple=3;publicstaticfinalintchu=4;}//編寫工廠類publicclassfactory{publicMethnewObject(inttype){//實(shí)現(xiàn)了接口的類,這個(gè)類的對(duì)象擁有了兩個(gè)身份,它可以以接口的身份出現(xiàn),Methmeth=null;switch(type){caseglobal.add:meth=newAdd();break;caseglobal.chu
5、:meth=newChu();break;caseglobal.multiple:meth=newmultiple();break;default:meth=newsubtriate();}returnmeth;}}//在這而進(jìn)行測(cè)試publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.println("請(qǐng)你輸入數(shù)1");intnum1=input.nextInt();System.out.println("請(qǐng)
6、你輸入數(shù)字2");intnum2=input.nextInt();System.out.println("請(qǐng)輸入運(yùn)算符1+,2-,3*4/");inttype=input.nextInt();factoryfac=newfactory();Methmeth=(fac.newObject(type);meth.meth(num1,num2);}}