网站大量收购独家精品文档,联系QQ:2885784924

抽象工厂模式..doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抽象工厂模式.

实验项目名称: 抽象工厂模式 (所属课程: 软件设计模式 学 院:计算机科学与信息工程学院 专业班级:软件工程 名:王会芳 学 号: 实验日期:2016年3月25 实验地点:A06 404 合作者: 指导教师:高原 本实验项目成绩: 教师签字: 日期: 实验目的 2.实验结束后,对相关内容进行总结。 二、实验内容 1.模式应用场景说明 一个电子工厂可以生产各种类型的电子产品,如富士康可以生产手机、平板电脑、智能手表等,华硕生产手机、平板电脑、智能手表等,相同品牌的产品构成一个产品族,而相同类型的产品构成一个产品等级结构,现使用抽象工厂模式模拟该场景。 2.应用场景类图 通过分析,该实例类图如图1所示: 图1 电子工厂类图 3.实现代码与解释 抽象产品类Phone(手机类) public interface Phone { public void call(); } Phone是一种抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含业务方法call()。 2)具体产品类FoxconPhone(富士康手机类) public class FoxconPhone implements Phone{ public void call() { System.out.println(富士康手机打电话中......); } }public class ASUSPhone implements Phone{ public void call() { System.out.println(华硕手机玩打电话中......); } }public interface Ipad { public void playGame(); } IPad是另一种抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含业务方法playGame()的声明。 5)具体产品类FoxconIpad(富士康平板电脑类) public class FoxconIpad implements Ipad{ public void playGame() { System.out.println(富士康平板电脑玩游戏中......); } } public class ASUSIpad implements Ipad{ public void playGame() { System.out.println(华硕平板电脑玩游戏中......); } }ASUSIpad是Ipad的另一个子类,实现了在IPad中定义的业务方法playGame()。Ipad、FoxconIpad和ASUSIpad构成一个产品等级结构。 7)抽象工厂类EFactory(电子工厂类) public interface EFactory { public Phone producePhone(); public Ipad produceIpad(); } EFactory类是抽象工厂类,其中定义了抽象工厂方法,针对每一个产品族的产品都提供了一个对应的工厂方法。 8)具体工厂类FoxconFactory(富士康工厂类) public class FoxconFactory implements EFactory{ public Phone producePhone() { return new FoxconPhone(); } public Ipad produceIpad() { return new FoxconIpad(); } } FoxconFactory是EFactory的一个子类,实现了在EFactory中定义的工厂方法,用于创建具体产品对象。FoxconFactory所生产的具体产品构成了一个产品族。 9)具体工厂类ASUSFactory(华硕工厂类) public class ASUSFactory implements EFactory{ public Phone producePhone() { return new ASUSPhone(); } public Ipad produceIpad() { return new ASUSIpad(); } } ASUSFactory是EFactory的另一个子类,实现了在EFactory中定义的工厂方法,用于创建具体产品对象。ASUSFactory所生产的具体产品构成一

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档