云南大学软件学院抽象工厂模式.doc_第1页
云南大学软件学院抽象工厂模式.doc_第2页
云南大学软件学院抽象工厂模式.doc_第3页
云南大学软件学院抽象工厂模式.doc_第4页
云南大学软件学院抽象工厂模式.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论