抽象工厂模式.doc

抽象工厂模式.doc

ID:59196629

大小:39.50 KB

页数:5页

时间:2020-09-10

抽象工厂模式.doc_第1页
抽象工厂模式.doc_第2页
抽象工厂模式.doc_第3页
抽象工厂模式.doc_第4页
抽象工厂模式.doc_第5页
资源描述:

《抽象工厂模式.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验项目名称:抽象工厂模式(所属课程:软件设计模式)学院:计算机科学与信息工程学院专业班级:软件工程13-1姓名:王会芳学号:实验日期:2016年3月25实验地点:A06404合作者:指导教师:高原本实验项目成绩:教师签字:日期:一、实验目的与要求1.练习使用抽象模式。设计相关的模拟场景并进行实施,验证模式特性,掌握其优缺点。2.实验结束后,对相关内容进行总结。二、实验内容1.模式应用场景说明一个电子工厂可以生产各种类型的电子产品,如富士康可以生产手机、平板电脑、智能手表等,华硕生产手机、平板电脑、智能手表等,相同品牌的产品构成一个产品族,而相同类型

2、的产品构成一个产品等级结构,现使用抽象工厂模式模拟该场景。2.应用场景类图通过分析,该实例类图如图1所示:+producePhone():Phone+produceIpad():Ipad+EFactory+call():voidPhoneFoxconFactory+producePhone():Phone+produceIpad():IpadFoxconPhone+call():voidASUSIpad+playGame():voidASUSPhone+call():voidIpad+playGame():voidASUSFactory+produc

3、ePhone():Phone+produceIpad():IpadFoxconIpad+playGame():void图1电子工厂类图3.实现代码与解释1)抽象产品类Phone(手机类)publicinterfacePhone{publicvoidcall();}Phone是一种抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含业务方法call()。2)具体产品类FoxconPhone(富士康手机类)publicclassFoxconPhoneimplementsPhone{publicvoidcall(){System.out.printl

4、n("富士康手机打电话中......");}}FoxconPhone是Phone的子类,实现了在Phone中定义的业务方法call()。3)具体产品类ASUSPhone(华硕手机类)publicclassASUSPhoneimplementsPhone{publicvoidcall(){System.out.println("华硕手机玩打电话中......");}}ASUSPhone是Phone的另一个子类,实现了在Phone中定义的业务方法call()。Phone、FoxconPhone和ASUSPhone构成了一个产品等级结构。4)抽象产品类IP

5、ad(平板电脑类)publicinterfaceIpad{publicvoidplayGame();}IPad是另一种抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含业务方法playGame()的声明。5)具体产品类FoxconIpad(富士康平板电脑类)publicclassFoxconIpadimplementsIpad{publicvoidplayGame(){System.out.println("富士康平板电脑玩游戏中......");}}FoxconIpad是Ipad的子类,实现了在IPad中定义的业务方法playGame()。

6、6)具体产品类ASUSIpad(华硕平板电脑类)publicclassASUSIpadimplementsIpad{publicvoidplayGame(){System.out.println("华硕平板电脑玩游戏中......");}}ASUSIpad是Ipad的另一个子类,实现了在IPad中定义的业务方法playGame()。Ipad、FoxconIpad和ASUSIpad构成一个产品等级结构。7)抽象工厂类EFactory(电子工厂类)publicinterfaceEFactory{publicPhoneproducePhone();publ

7、icIpadproduceIpad();}EFactory类是抽象工厂类,其中定义了抽象工厂方法,针对每一个产品族的产品都提供了一个对应的工厂方法。8)具体工厂类FoxconFactory(富士康工厂类)publicclassFoxconFactoryimplementsEFactory{publicPhoneproducePhone(){returnnewFoxconPhone();}publicIpadproduceIpad(){returnnewFoxconIpad();}}FoxconFactory是EFactory的一个子类,实现了在EFa

8、ctory中定义的工厂方法,用于创建具体产品对象。FoxconFactory所生产的具体产品构成了一个产品族

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。