




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云南大学软件学院实 验 报 告序号: 姓名: 学号: 专业: 日期: 成绩: 实验三 抽象工厂模式的运用一、实验目的:抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。在熟悉抽象工厂模式相关理论知识的基础上,使用抽象工厂模式实现“电脑配置商店”程序。二、实验要求:使用抽象工厂模式实现“电脑配置商店”,要求如下:1. 电脑由CPU、主板、显卡、内存、硬盘等配件组合而成。现电脑配置有两种配置方案。2. 根据配置方案可以显示具体配置信息。3. 根据配置方案可以显示价格。1、 设计并绘制该程序的类图;2、 依照设计的类图使用Java语言编写代码,并实现该程序;3、 除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:a) 控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出;b) 控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出;c) 设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,运行结果文本输出;三、实验内容:类图:1.ComputerFactory接口public interface ComputerFactory public Cpu createCpu();public Mainboard createMainboard();public GraphicsCard createGraphicsCard();public Ram createRam();public Caliche createCaliche();public void displayPrice();2. ComputerFactory接口具体实现public class HomeComputerFactory implements ComputerFactory public HomeComputerFactory()System.out.println(nHome Version:);Overridepublic Cpu createCpu() / TODO Auto-generated method stubreturn new HomeCpu();Overridepublic Mainboard createMainboard() / TODO Auto-generated method stubreturn new HomeMainboard();Overridepublic GraphicsCard createGraphicsCard() / TODO Auto-generated method stubreturn new HomeGraphicsCard();Overridepublic Ram createRam() / TODO Auto-generated method stubreturn new HomeRam();Overridepublic Caliche createCaliche() / TODO Auto-generated method stubreturn new HomeCaliche();Overridepublic void displayPrice() / TODO Auto-generated method stubSystem.out.println(RMB:4000);public class StudentComputerFactory implements ComputerFactory public StudentComputerFactory()System.out.println(nStudent Version:);Overridepublic Cpu createCpu() / TODO Auto-generated method stubreturn new StudentCpu();Overridepublic Mainboard createMainboard() / TODO Auto-generated method stubreturn new StudentMainboard();Overridepublic GraphicsCard createGraphicsCard() / TODO Auto-generated method stubreturn new StudentGraphicsCard();Overridepublic Ram createRam() / TODO Auto-generated method stubreturn new StudentRam();Overridepublic Caliche createCaliche() / TODO Auto-generated method stubreturn new StudentCaliche();Overridepublic void displayPrice() / TODO Auto-generated method stubSystem.out.println(RMB:3000);3.产品接口public interface Caliche String Caliche=new String();public interface Cpu String Cpu=new String(); public interface GraphicsCard String GraphicsCard=new String();public interface Mainboard String Mainboard=new String();public interface Ram String Ram=new String();4. 产品接口实现public class HomeCaliche implements CalicheString Caliche=new String();public HomeCaliche()Caliche=SATA;System.out.println(Caliche:+Caliche);public class HomeCpu implements Cpu String Cpu=new String();public HomeCpu()Cpu=intel i5;System.out.println(Cpu:+Cpu);public class HomeGraphicsCard implements GraphicsCard String GraphicsCard=new String();public HomeGraphicsCard()GraphicsCard=独立显卡;System.out.println(GraphicsCard:+GraphicsCard);public class HomeMainboard implements Mainboard String Mainboard=new String();public HomeMainboard()Mainboard=微星 Z97 GAM;System.out.println(Mainboard:+Mainboard);public class HomeRam implements Ram String Ram=new String();public HomeRam()Ram=4G内存;System.out.println(Ram:+Ram);public class StudentCaliche implements CalicheString Caliche=new String();public StudentCaliche()Caliche=IDE;System.out.println(Caliche:+Caliche);public class StudentCpu implements Cpu String Cpu=new String();public StudentCpu()Cpu=intel i3;System.out.println(Cpu:+Cpu); public class StudentGraphicsCard implements GraphicsCard String GraphicsCard=new String();public StudentGraphicsCard()GraphicsCard=集成显卡;System.out.println(GraphicsCard:+GraphicsCard);public class StudentMainboard implements Mainboard String Mainboard=new String();public StudentMainboard()Mainboard=华硕 A58M-E;System.out.println(Mainboard:+Mainboard); public class StudentRam implements Ram String Ram=new String();public StudentRam()Ram=2G内存;System.out.println(Ram:+Ram);5. Computer基类public class Computer protected ComputerFactory createComputer(String item)ComputerFactory computer=null;if(item.equals(student)computer=new StudentComputerFactory();if(item.equals(home)computer=new HomeComputerFactory();computer.createCpu();computer.createCaliche();computer.createGraphicsCard();computer.createMainboard();computer.createRam();computer.displayPrice();return computer;6. 测试类public class Test public static
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 4491-3:2025 EN Metallic powders - Determination of oxygen content by reduction methods - Part 3: Hydrogen-reducible oxygen
- 西藏支教活动方案
- 河南焊工考试题及答案
- 国企金融考试题及答案
- 关于林果考试题及答案
- 股票期权考试题及答案
- 高考日语考试题及答案
- 幼儿园教学教案设计:安全用书包
- (正式版)DB15∕T 3643-2024 《气象灾害风险评估技术规范 暴雨》
- (正式版)DB15∕T 3393-2024 《绿色勘查技术规程》
- 风电居间协议合同协议
- 2025-2030中国偏头痛药行业市场发展趋势与前景展望战略研究报告
- 2025年新会计法培训课件
- 小米生态链企业的协同发展与供应链优化
- 2025年大学生信息素养大赛(省赛)考试题库(附答案)
- 2025年度汽车报废回收企业股权转让与资源利用合同
- 劳动合同范本合同模板
- 2025年公务员遴选结构化面试万能修订稿
- 氢气安全知识培训课件
- DBJ51-T 184-2021 四川省预成孔植桩技术标准
- 电商行业农产品电商运营与推广策略方案
评论
0/150
提交评论