《抽象工厂模式的运用40642.pdf》由会员分享,可在线阅读,更多相关《抽象工厂模式的运用40642.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.页脚 实验三 抽象工厂模式的运用 一、实验目的:抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。在熟悉抽象工厂模式相关理论知识的基础上,使用抽象工厂模式实现“电脑配置商店”程序。二、实验要求:使用抽象工厂模式实现“电脑配置商店”,要求如下:1.电脑由 CPU、主板、显卡、存、硬盘等配件组合而成。现电脑配置有两种配置方案。2.根据配置方案可以显示具体配置信息。3.根据配置方案可以显示价格。1、设计并绘制该程序的类图;2、依照设计的类图使用 Java 语言编写代码,并实现该程序;3、除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:a)控制台程序,C
2、lient 硬编码初始化模式和测试环境,运行结果文本输出;b)控制台程序,Client 初始化测试环境,并根据用户输入运算,运行结果文本输出;c)设计并实现用户 UI,Client 初始化测试环境,并根据用户在 UI 控件上的输入运算,运行结果文本输出;三、实验容:类图 代码 public abstract class Computer_store Computer_factory computer;public abstract Computer_factory createComputer(String type);.页脚 Computer_factory.java public inte
3、rface Computer_factory public Cpu createCpu();public Mainboard createMainboard();public GraphicsCard createGraphicsCard();public Ram createRam();public Harddisk createHarddisk();public void displayPrice();电脑制造 public class Plan_A_factory implements Computer_factory public Plan_A_factory()System.out.
4、println(n配置方案一:);public Cpu createCpu()/TODO 自动生成的方法存根 return new Plan_A_Cpu();public Mainboard createMainboard()/TODO 自动生成的方法存根 return new Plan_A_Mainboard();public GraphicsCard createGraphicsCard()/TODO 自动生成的方法存根 return new Plan_A_GraphicsCard();public Ram createRam()/TODO 自动生成的方法存根 return new Pla
5、n_A_Ram();.页脚 public Harddisk createHarddisk()/TODO 自动生成的方法存根 return new Plan_A_Harddisk();public void displayPrice()/TODO 自动生成的方法存根 System.out.println(RMB:4000:);public class Plan_B_factory implements Computer_factory public Plan_B_factory()System.out.println(n配置方案二:);public Cpu createCpu()/TODO 自动
6、生成的方法存根 return new Plan_B_Cpu();public Mainboard createMainboard()/TODO 自动生成的方法存根 return new Plan_B_Mainboard();public GraphicsCard createGraphicsCard()/TODO 自动生成的方法存根 return new Plan_B_GraphicsCard();public Ram createRam()/TODO 自动生成的方法存根 return new Plan_B_Ram();.页脚 public Harddisk createHarddisk()/
7、TODO 自动生成的方法存根 return new Plan_B_Harddisk();public void displayPrice()/TODO 自动生成的方法存根 System.out.println(RMB:5000);配置接口 Cpu.java public interface Cpu String Cpu=new String();GraphicsCard.Java public interface GraphicsCard String GraphicsCard=new String();Mainboard.java public interface Mainboard Str
8、ing Mainboard=new String();Ram.java public interface Ram String Ram=new String();接口实现 public class Plan_A_Cpu implements Cpu String Cpu=new String();.页脚 public Plan_A_Cpu()Cpu=AMD FX-8350;System.out.println(Cpu:+Cpu);public class Plan_A_GraphicsCard implements GraphicsCard String GraphicsCard=new St
9、ring();public Plan_A_GraphicsCard()GraphicsCard=微星 GTX 970;System.out.println(GraphicsCard:+GraphicsCard);public class Plan_A_Harddisk implements Harddisk String Harddisk=new String();public Plan_A_Harddisk()Harddisk=IDE;System.out.println(Harddisk:+Harddisk);public class Plan_A_Mainboard implements
10、 Mainboard String Mainboard=new String();public Plan_A_Mainboard()Mainboard=ASUS;System.out.println(Mainboard:+Mainboard);public class Plan_A_Ram implements Ram.页脚 String Ram=new String();public Plan_A_Ram()Ram=2g;System.out.println(Ram:+Ram);public class Plan_B_Cpu implements Cpu String Cpu=new Str
11、ing();public Plan_B_Cpu()Cpu=intel i5;System.out.println(Cpu:+Cpu);public class Plan_B_GraphicsCard implements GraphicsCard String GraphicsCard=new String();public Plan_B_GraphicsCard()GraphicsCard=影驰 GT730;System.out.println(GraphicsCard:+GraphicsCard);public class Plan_B_Harddisk implements Harddi
12、sk String Harddisk=new String();public Plan_B_Harddisk()Harddisk=SATE;System.out.println(Harddisk:+Harddisk);.页脚 public class Plan_B_Mainboard implements Mainboard String Mainboard=new String();public Plan_B_Mainboard()Mainboard=GIGABYTE;System.out.println(Mainboard:+Mainboard);public class Plan_B_R
13、am implements Ram String Ram=new String();public Plan_B_Ram()Ram=4g;System.out.println(Ram:+Ram);电脑基类 public class Computer extends Computer_store public Computer_factory createComputer(String type)Computer_factory computer=null;if(type.equals(配置方案一)computer=new Plan_A_factory();else if(type.equals(
14、配置方案二)computer=new Plan_B_factory();computer.createCpu();computer.createGraphicsCard();.页脚 computer.createHarddisk();computer.createMainboard();computer.createRam();computer.displayPrice();return computer;测试 import java.util.Scanner;public class TEST public static void main(String args)/TODO 自动生成的方法
15、存根 Computer c=new Computer();Scanner sc=new Scanner(System.in);for(int p=0;p1;)System.out.println(输入选项选择不同的电脑配置方案 1,配置方案一 2,配置方案二);String k=sc.nextLine();switch(k)case 1:c.createComputer(配置方案一);break;case 2:c.createComputer(配置方案二);break;case Q:.页脚 p=2;sc.close();break;default:System.out.println(更新方案中,请选择方案一或方案二);break;四、实验总结:.页脚 通过本次实验认识了抽象工厂模式用于创建相关或依赖对象的家族,而不需要明确指定具体类。在熟悉抽象工厂模式相关理论知识的基础上,使用抽象工厂模式实现了“电脑配置商店”程序。指导教师签名: