实验报告2_装饰者模式.doc

实验报告2_装饰者模式.doc

ID:56772073

大小:55.00 KB

页数:5页

时间:2020-07-08

实验报告2_装饰者模式.doc_第1页
实验报告2_装饰者模式.doc_第2页
实验报告2_装饰者模式.doc_第3页
实验报告2_装饰者模式.doc_第4页
实验报告2_装饰者模式.doc_第5页
资源描述:

《实验报告2_装饰者模式.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、云南大学软件学院实验报告序号:姓名:杨林燕学号:20111120106专业:软件工程日期:成绩:实验二装饰者模式的运用一、实验目的:装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。在熟悉装饰者模式相关理论知识的基础上,使用装设者模式实现米线店结账小程序。二、实验要求:使用装饰者模式实现米线店结账程序,要求如下:1.米线有三种,干浆、酸浆和水米线。2.配料有三种,豆腐、鸡蛋、牛肉,今后还会更多。3.客户可疑随心所欲的要各种米线搭配各种配料,配料可以加同一种加多份,或者不同种加多份。1、设计并绘制该程序的类图;2、依照设计的类图使用Java语言编写

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

3、()cost()CondimentDecoratorgetDescription()MiXianDescriptiongetDescription()cost()GanJiangCost()SuanJiangCost()ShuiJiangCost()2.代码MiXian类:packageynu.lab2;publicabstractclassMiXian{Stringdescription;publicStringgetDescription(){returndescription;}publicabstractdoublecost();}CondimentDecorator类:pu

4、blicabstractclassCondimentDecoratorextendsMiXian{publicabstractStringgetDescription();}GanJiang类:publicclassGanJiangextendsMiXian{publicGanJiang(){description="干浆米线";}publicdoublecost(){return.20;}}SuanJiang类:publicclassSuanJiangextendsMiXian{publicSuanJiang(){description="酸浆米线";}publicdoubleco

5、st(){return.25;}}ShuiJiang类:publicclassShuiJiangextendsMiXian{publicShuiJiang(){description="水浆米线";}publicdoublecost(){return.15;}}DouFu类:publicclassDouFuextendsCondimentDecorator{MiXianmiXian;publicDouFu(MiXianmiXian){this.miXian=miXian;}publicStringgetDescription(){returnmiXian.getDescription

6、()+",+豆腐";}publicdoublecost(){return.05+miXian.cost();}NiuRou类:publicclassNiuRouextendsCondimentDecorator{MiXianmiXian;publicNiuRou(MiXianmiXian){this.miXian=miXian;}publicStringgetDescription(){returnmiXian.getDescription()+",+牛肉";}publicdoublecost(){return.15+miXian.cost();}}JiDan类:publicclas

7、sJiDanextendsCondimentDecorator{MiXianmiXian;publicJiDan(MiXianmiXian){this.miXian=miXian;}publicStringgetDescription(){returnmiXian.getDescription()+",+鸡蛋";}publicdoublecost(){return.10+miXian.cost();}YanShi类:publicclassYanShi{pu

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

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

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