ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:136.52KB ,
资源ID:26551947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26551947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(设计模式实验抽象工厂模式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

设计模式实验抽象工厂模式.docx

1、设计模式实验抽象工厂模式实验报告课程:设计模式实验 学期:2010-2011学年 第一学期任课教师:专业:学号: 姓名: 成绩:实验4抽象工厂模式1.题目:使用抽象工厂模式实现一个 DIY电脑店,其中的电脑配置有三个种类:学生版、家庭装、豪华版。 terfaDeCpmt u lei J.nficruraticiiiF actor :reateJpuf) rRtpaTTii:crvatsMainboard QirentcHardd ciedLeDipyijDirStorecresdeCGmputerO nterfa:CputoString;:STudrtGpu2.模式设计的UML类图:3.程序源

2、代码:(1)计算机配置工厂接口:public in terface ComputerC on figuratio nFactorypublic Cpu createCpu();public Ram createRam();public Mainboard createMainboard();public Harddisk createHarddisk();public Display createDisplay();(2)计算机配置工厂接口的各个子类:implementspublic class StudentComputerConfigurationFactoryComputerConfig

3、urationFactorypublic Cpu createCpu() return newStudentCpu(); public Ram createRam() return newStudentRam(); public Mainboard createMainboard() return newStudentMainboard(); public Harddisk createHarddisk() return newStudentHarddisk(); public Display createDisplay() return newStudentDisplay(); implem

4、entspublic class HomeComputerConfigurationFactoryComputerConfigurationFactorypublic Cpu createCpu() return newHomeCpu(); public Ram createRam() return newHomeRam(); public Mainboard createMainboard() return newHomeMainboard(); public Harddisk createHarddisk() return newHomeHarddisk(); return newHome

5、Display(); public class DeluxeComputerConfigurationFactory implements ComputerConfigurationFactorypublic Cpu createCpu() return newDeluxeCpu(); public Ram createRam() return newDeluxeRam(); public Mainboard createMainboard() return newDeluxeMainboard(); public Harddisk createHarddisk() return newDel

6、uxeHarddisk(); public Display createDisplay() return newDeluxeDisplay(); (3)电脑各种配置的接口:public String toString();public interface Rampublic String toString();public interface Mainboardpublic String toString();public interface Harddiskpublic String toString();public String toString();(4)电脑配置Cpu接口的各个子类:

7、public class StudentCpu implements Cpu public String toString() return Intel 奔腾双核 E5400( 盒 ) ; public class HomeCpuimplements Cpupublic String toString() return Intel 酷睿 i5 650 (盒);public class DeluxeCpu implements Cpupublic String toString() return Intel 酷睿i7 980X (至尊版);(5)电脑配置Ran接口的各个子类: public cl

8、ass StudentRam implements Rampublic String toString() return 宇瞻 2GB DDR3 1333(经典系列);public class HoneRaninplenents Ranpublic String toString() return 金士顿4GB DDR3 1333骇客神条套装);public class DeluxeRan inplenents Ranpublic String toString() return 海盗船 TW3X4G2000C9DF(6)电脑配置 Mainboard 接口的各个子类:public String

9、 toString() return 铭瑄 MS-M3A890G; public class HomeMainboard implements Mainboardpublic String toString() return 技嘉 GA-870A-UD3 public class DeluxeMainboard implements Mainboardpublic String toString() return 华硕 Rampage III Extreme ; ( 7)电脑配置 Harddisk 接口的各个子类:public class StudentHarddisk implements

10、Harddiskpublic String toString() return 希捷 250GB 8M; public class HomeHarddisk implements Harddisk public String toString() return 三星 500GB 7200专 16M(串/ 金宝); public class DeluxeHarddisk implements Harddiskpublic String toString() return 希捷 Cheetah 600GB; ( 8)电脑配置 Display 接口的各个子类:public class Student

11、Display implements Displaypublic String toString() return 飞利浦1 93E 1 SB; public String toString() return 三星 P2450H; public class DeluxeDisplay implements Display public String toString() return 戴尔 UltraSharp 2408WFP; (9)抽象产品计算机类:public abstract class ComputerString name;Cpu cpu;Ramram;Mainboard main

12、board;Harddisk harddisk ;Display display ;public abstract void prepare(); =name; public String getName() return name; public String getCpu() return (); public String getRam() return (); public String getMainboard() return (); public String getHarddisk() return (); public String getDisplay() return (

13、); (10)抽象产品计算机类的子类:public class PrepareComputer extends ComputerComputerConfigurationFactory ConfigurationFactorypublic PrepareComputer(ComputerConfigurationFactoryConfigurati onFactory)= ConfigurationFactory;public void prepare() cpu = ();ram = (); mainboard = (); harddisk = (); display = ();11)抽象计

14、算机店类:public abstract class ComputerStoreprotected abstract Computer createrComputer(String item);public Computer orderComputer(String type)Computer computer = createrComputer(type);();return computer;(12)抽象计算机店类的子类:public class DIYComputerStore extends ComputerStoreprotected Computer createrComputer

15、(String item)Computer computer = null ;ComputerConfigurationFactory studentConfigurationFactory =new StudentComputerConfigurationFactory();ComputerConfigurationFactory homeConfigurationFactorynewHomeComputerConfigurationFactory();ComputerConfigurationFactory deluxeConfigurationFactory =new DeluxeCom

16、puterConfigurationFactory();if (学生版 )computer = newPrepareComputer(studentConfiguratio nFactory);( 学生版 );else if ( 家庭装 )computer = newPrepareComputer(homeConfigurationFactory);( 家庭装 );else if ( 豪华版 )computer = newPrepareComputer(deluxeConfiguratio nFactory);( 豪华版 );return computer;(13)实现用户界面的主类: (由于

17、代码过长,只列出主要部分)public class DIYStore extends public DIYStore() super ( XXXXX);initComponents();private void initComponents() 种类 );( jRadioButton1 );( 学生版 );( jRadioButton2 ); ( 家庭装 );( jRadioButton3 ); ( 豪华版 );配置 );( CPU: );( 内存: );( 主板: );( 硬盘: );III!); (III!);( 显示器: );( );( 退出);( 清空);( 确定 );private

18、void jButton1ActionPerformed evt)private void jButton2ActionPerformed evt) ();III!);private void jButton3ActionPerformed evt) String configuration = getConfiguration();(configuration0);(configuration1);(configuration2);(configuration3);(configuration4);public String getConfiguration()ComputerStore D

19、IYstore = newDIYComputerStore();Computer computer = null ;String configuration = newString5;if ()computer = ( 学生版 );else if ()computer = ( 家庭装 );else if ()computer = ( 豪华版 );configuration0 = ();configuration1 = ();configuration2 = ();configuration3 = ();configuration4 = ();return configuration;public static void main(String args) Runnable() public void run() true );newDIYStore().setVisible();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1