欢迎来到天天文库
浏览记录
ID:38771843
大小:149.50 KB
页数:8页
时间:2019-06-19
《云南大学软件学院抽象工厂模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、云南大学软件学院实验报告序号:姓名:学号:专业:日期:成绩:实验三抽象工厂模式的运用一、实验目的:抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。在熟悉抽象工厂模式相关理论知识的基础上,使用抽象工厂模式实现“电脑配置商店”程序。二、实验要求:使用抽象工厂模式实现“电脑配置商店”,要求如下:1.电脑由CPU、主板、显卡、内存、硬盘等配件组合而成。现电脑配置有两种配置方案。2.根据配置方案可以显示具体配置信息。3.根据配置方案可以显示价格。1、设计并绘制该程序的类图;2、依照设计的类图使
2、用Java语言编写代码,并实现该程序;3、除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:a)控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出;b)控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出;c)设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,运行结果文本输出;三、实验内容:类图:1.ComputerFactory接口publicinterfaceComputerFactory{publicCpucreateCp
3、u();publicMainboardcreateMainboard();publicGraphicsCardcreateGraphicsCard();publicRamcreateRam();publicCalichecreateCaliche();publicvoiddisplayPrice();}2.ComputerFactory接口具体实现publicclassHomeComputerFactoryimplementsComputerFactory{publicHomeComputerFactory(){S
4、ystem.out.println("HomeVersion:");}@OverridepublicCpucreateCpu(){//TODOAuto-generatedmethodstubreturnnewHomeCpu();}@OverridepublicMainboardcreateMainboard(){//TODOAuto-generatedmethodstubreturnnewHomeMainboard();}@OverridepublicGraphicsCardcreateGraphicsCard
5、(){//TODOAuto-generatedmethodstubreturnnewHomeGraphicsCard();}@OverridepublicRamcreateRam(){//TODOAuto-generatedmethodstubreturnnewHomeRam();}@OverridepublicCalichecreateCaliche(){//TODOAuto-generatedmethodstubreturnnewHomeCaliche();}@Overridepublicvoiddisplay
6、Price(){//TODOAuto-generatedmethodstubSystem.out.println("RMB:4000");}}publicclassStudentComputerFactoryimplementsComputerFactory{publicStudentComputerFactory(){System.out.println("StudentVersion:");}@OverridepublicCpucreateCpu(){//TODOAuto-generatedmethodst
7、ubreturnnewStudentCpu();}@OverridepublicMainboardcreateMainboard(){//TODOAuto-generatedmethodstubreturnnewStudentMainboard();}@OverridepublicGraphicsCardcreateGraphicsCard(){//TODOAuto-generatedmethodstubreturnnewStudentGraphicsCard();}@OverridepublicRamcreate
8、Ram(){//TODOAuto-generatedmethodstubreturnnewStudentRam();}@OverridepublicCalichecreateCaliche(){//TODOAuto-generatedmethodstubreturnnewStudentCaliche();}@Overridepublicvoiddisplay
此文档下载收益归作者所有