- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 在铸造成型的过程中,制造者首先将塑料加工成可成型的粉末,然后将塑料粉末注入到需要的模具中。在Factory Method模式中,子类 (在这里就是指模具)来决定需要实例化那个类。在这个例子中,ToyHorseMold类就是被实例化的类。 一 、 概述 * * 当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统。工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,该方法返回某个类的子类的实例,该抽象类或接口让其子类或实现该接口的类通过重写这个抽象方法返回某个子类的实例。 二、工厂方法模式的结构与使用 * * 模式的结构中包括四种角色: 抽象产品(Product) 具体产品(ConcreteProduct) 构造者(Creator) 具体构造者(ConcreteCreator) * * 模式的UML类图 模式的结构的描述与使用 有一个PenCore类(笔芯),该类是一个抽象类。假设PenCore类有三个子类,分别是RedPenCore、BluePenCore和BlackPenCore,而系统设计的目的是为用户提供BallPen类(圆珠笔)的子类的实例,即含有笔芯的圆珠笔,也就是说系统想让用户使用BallPen类的子类的实例来得到PenCore类的子类的实例。 * * 模式的结构的描述与使用 1.抽象产品(Product) : PenCore.java public abstract class PenCore{ String color; public abstract void writeWord(String s); } * * 模式的结构的描述与使用 2.具体产品(ConcreteProduct)_1 : RedPenCore.java public class RedPenCore extends PenCore{ RedPenCore(){ color=红色; } public void writeWord(String s){ System.out.println(写出+color+的字:+s); } } * * 模式的结构的描述与使用 2.具体产品(ConcreteProduct)_2 : BluePenCore.java public class BluePenCore extends PenCore{ BluePenCore(){ color=蓝色; } public void writeWord(String s){ System.out.println(写出+color+的字:+s); } } * * 模式的结构的描述与使用 2.具体产品(ConcreteProduct)_3: BlackPenCore.java public class BlackPenCore extends PenCore{ BlackPenCore(){ color=黑色; } public void writeWord(String s){ System.out.println(写出+color+的字:+s); } } * * 模式的结构的描述与使用 3.构造者(Creator):BallPen.java public abstract class BallPen{ BallPen(){ System.out.println(生产了一只装有+getPenCore().color+笔芯的圆珠笔); } public abstract PenCore getPenCore(); //工厂方法 } * * 4.具体构造者(ConcreteCreator): RedBallPen.java public class RedBallPen extends BallPen{ public PenCore getPenCore(){ return new RedPenCore(); } } BlueBallPen.java public class BlueBallPen extends BallPen{ public PenCore getPenCore(){ return new BluePenCore(); } } BlackBallPen.java public class BlackBallPen extends BallPen{ publ
您可能关注的文档
- 计算机性能评测综述.ppt
- 建筑施工建筑工程工程图标书.ppt
- 如何高效设计问卷调查?.ppt
- 三甲复审第三阶段工作总结.ppt
- 桑乐金便携式桑拿内销战略规划.ppt
- 上课用民主决策作出最佳选择.ppt
- 社会管理创新.ppt
- 社区高血压和糖尿病病例管理手册.ppt
- 生产与运作管理第二章生产运作战略与竞争力.ppt
- 事故非价值因素损失的分析理论与计算方法.ppt
- 国开景区管理作业2试题及答案.pdf
- 国开景区管理作业1-4试题及答案.pdf
- 河南开放大学本科《地域文化(本)》作业练习1-3试题及答案.pdf
- 2024年大型游乐设施操作证考试题库及答案很全.pdf
- 2024年门座式起重机司机考试题库及答案.pdf
- 2022-2023学年河北省衡水市武强中学高二(下)期末数学试卷【答案版】.docx
- 2022-2023学年河北省保定市崇德实验中学高二(下)期末数学试卷【答案版】.docx
- 江西省2017年中小学教师招聘考试高中化学试卷及答案.docx
- 2024年河北省八年级中考生物真题(解析版).docx
- 2024年南阳市社会保险中心(唐河县企业养老保险分中心)(参公)一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
最近下载
- 专修篇上 掌握市场TOM WILLIAMS《MASTER THE MARKET》.pdf
- (流程管理)全案销售流程框架.pdf VIP
- 第十一章第一节 正常吞咽的解剖生理学基础.pptx
- 设备设施定期保养规程.doc
- 广东省深圳市2024年中考生物模拟试题含解析.pdf VIP
- 【首发】广东省深圳市2024年中考生物全真模拟试题含解析.doc VIP
- 普通高等学校本科教育教学审核评估 自评报告 (第二类第一种).pdf VIP
- 新时达AS180系列高性能vf通用变频器操作手册.pdf
- 青岛版科学六年级下册实验报告单(六三制).pdf VIP
- SL703-2015、灌溉与排水工程施工质量评定表.docx
文档评论(0)