欢迎来到天天文库
浏览记录
ID:38578878
大小:195.00 KB
页数:5页
时间:2019-06-15
《5.抽象工厂模式-单例模式答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、(4)抽象工厂模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。interfaceCPU{voiddiscribe();}interfaceRAM{voiddiscribe();}classPcCPUimplementsCPU{publicvoiddiscribe(){System.out.println("PcCPU");}}classMacCPUimpleme
2、ntsCPU{publicvoiddiscribe(){System.out.println("MacCPU");}}classPcRAMimplementsRAM{publicvoiddiscribe(){System.out.println("PcRAM");}}classMacRAMimplementsRAM{publicvoiddiscribe(){System.out.println("MacRAM");}}interfaceComputerPartsFactory{CPUproduceCPU();RAMp
3、roduceRAM();}classPcFactoryimplementsComputerPartsFactory{publicPcCPUproduceCPU(){System.out.println("PcCPUproduced!");returnnewPcCPU();}publicPcRAMproduceRAM(){System.out.println("PcRAMproduced!");returnnewPcRAM();}}classMacFactoryimplementsComputerPartsFactor
4、y{publicMacCPUproduceCPU(){System.out.println("MacCPUproduced!");returnnewMacCPU();}publicMacRAMproduceRAM(){System.out.println("MacRAMproduced!");returnnewMacRAM();}}classComputerPartsClient{publicstaticvoidmain(Stringa[]){ComputerPartsFactoryfactory;CPUcpu;RA
5、Mram;factory=(ComputerPartsFactory)XMLUtil.getBean();//PcORMaccpu=factory.produceCPU();cpu.discribe();ram=factory.produceRAM();ram.discribe();}}(6)单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。classLoginFormextendsJFrame{//Java.swing
6、包中的JFrame类用于创建窗口privatestaticLoginFormuniqueInstance=null;privateLoginForm(){//设置标题this.setTitle("LoginForm");this.setSize(400,300);//setSize(intwidth,intheight)//设置关闭按钮的事件this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置是否可见this.setVisible(true);}pub
7、licstaticLoginFormgetInstance(){if(uniqueInstance==null){uniqueInstance=newLoginForm();}else{JOptionPane.showMessageDialog(null,"LoginFrame已经在运行!");}returnuniqueInstance;}}classLoginFormClient{publicstaticvoidmain(Stringa[]){LoginForms1=null,s2=null;s1=LoginFor
8、m.getInstance();s2=LoginForm.getInstance();System.out.println("s1==s2?");System.out.println(s1==s2);}}运行结果:
此文档下载收益归作者所有