云南大学软件学院抽象工厂模式

上传人:第*** 文档编号:31351060 上传时间:2018-02-07 格式:DOC 页数:8 大小:149.50KB
返回 下载 相关 举报
云南大学软件学院抽象工厂模式_第1页
第1页 / 共8页
云南大学软件学院抽象工厂模式_第2页
第2页 / 共8页
云南大学软件学院抽象工厂模式_第3页
第3页 / 共8页
云南大学软件学院抽象工厂模式_第4页
第4页 / 共8页
云南大学软件学院抽象工厂模式_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《云南大学软件学院抽象工厂模式》由会员分享,可在线阅读,更多相关《云南大学软件学院抽象工厂模式(8页珍藏版)》请在金锄头文库上搜索。

1、云南大学软件学院实 验 报 告序号: 姓名: 学号: 专业: 日期: 成绩: 实验三 抽象工厂模式的运用一、实验目的:抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。在熟悉抽象工厂模式相关理论知识的基础上,使用抽象工厂模式实现“电脑配置商店”程序。二、实验要求:使用抽象工厂模式实现“电脑配置商店”,要求如下:1. 电脑由 CPU、主板、显卡、内存、硬盘等配件组合而成。现电脑配置有两种配置方案。2. 根据配置方案可以显示具体配置信息。3. 根据配置方案可以显示价格。1、 设计并绘制该程序的类图;2、 依照设计的类图使用 Java 语言编写代码,并实现该程序;3、

2、除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:a) 控制台程序,Client 硬编码初始化模式和测试环境,运行结果文本输出;b) 控制台程序,Client 初始化测试环境,并根据用户输入运算,运行结果文本输出;c) 设计并实现用户 UI,Client 初始化测试环境,并根据用户在 UI 控件上的输入运算,运行结果文本输出;三、实验内容:类图:1.ComputerFactory 接口public interface ComputerFactory public Cpu createCpu();public Mainboard createMainboard();public G

3、raphicsCard 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

4、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

5、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 ComputerFact

6、ory 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 creat

7、eGraphicsCard() / 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 displayPri

8、ce() / 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 in

9、terface 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:+Cp

10、u);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 GA

11、M;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:+Calich

12、e);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:+Gr

13、aphicsCard);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

14、.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.createGraphi

15、csCard();computer.createMainboard();computer.createRam();computer.displayPrice();return computer;6.测试类public class Test public static void main(String args) / TODO Auto-generated method stubComputer com=new Computer();com.createComputer(student);com.createComputer(home);四、实验总结:认识了抽象工厂模式用于创建相关或依赖对象的家族,而不需要明确指定具体类。熟悉了抽象工厂模式相关理论知识,学会了使用抽象工厂模式实现“电脑配置商店”程序。指导教师签名:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号