好文档 - 专业文书写作范文服务资料分享网站

实验报告2_装饰者模式

天下 分享 时间: 加入收藏 我要投稿 点赞

云南大学软件学院

实 验 报 告

序号: 姓名: 杨林燕 学号: 106 专业: 软件工程 日期: 成绩: 实验二 装饰者模式的运用

一、实验目的:

装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹

性的替代方案。在熟悉装饰者模式相关理论知识的基础上,使用装设者模式实现米线店结账小程序。

二、实验要求:

使用装饰者模式实现米线店结账程序,要求如下:

1. 米线有三种,干浆、酸浆和水米线。

2. 配料有三种,豆腐、鸡蛋、牛肉,今后还会更多。

3. 客户可疑随心所欲的要各种米线搭配各种配料,配料可以加同一种加多份,或者不同种加多份。

1、 设计并绘制该程序的类图;

2、 依照设计的类图使用Java语言编写代码,并实现该程序;

3、 除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:

a) 控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出; b) 控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出; c) 设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,

运行结果文本输出;

三、实验内容: 1.类图

NiuRou MiXian miXian getDescription() cost()

SuanJiang Cost() JiDan MiXian miXian getDescription() cost() CondimentDecorator getDescription() DouFu MiXian miXian getDescription() cost() MiXian Description getDescription() cost() GanJiang Cost() 2.代码 ShuiJiang Cost() MiXian类:

package ;

public abstract class MiXian {

}

String description;

public String getDescription() { }

return description;

public abstract double cost();

CondimentDecorator类:

public abstract class CondimentDecorator extends MiXian { }

public abstract String getDescription();

GanJiang类:

public class GanJiang extends MiXian { }

public GanJiang() { }

public double cost() { }

return .20;

description = \干浆米线\;

SuanJiang类:

public class SuanJiang extends MiXian {

public SuanJiang() { }

description = \酸浆米线\;

}

public double cost() { }

return .25;

ShuiJiang类:

public class ShuiJiang extends MiXian { }

public double cost() { }

return .15; public ShuiJiang() { }

description = \水浆米线\;

DouFu类:

public class DouFu extends CondimentDecorator {

public double cost() {

return .05 + ();

public String getDescription() { }

return () + \豆腐\; public DouFu(MiXian miXian) { }

= miXian; MiXian miXian;

}

NiuRou类:

public class NiuRou extends CondimentDecorator {

public double cost() { }

return .15 + ();

public String getDescription() { }

return () + \牛肉\; public NiuRou(MiXian miXian) { }

= miXian; MiXian miXian;

}

JiDan类:

public class JiDan extends CondimentDecorator {

public String getDescription() { }

return () + \鸡蛋\; public JiDan(MiXian miXian) { }

= miXian; MiXian miXian;

实验报告2_装饰者模式

云南大学软件学院实验报告序号:姓名:杨林燕学号:106专业:软件工程日期:成绩:实验二装饰者模式的运用一、实验目的:装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案
推荐度:
点击下载文档文档为doc格式
7eh017n9k47zlrl1bkfq6d7jn4l91z0135v
领取福利

微信扫码领取福利

微信扫码分享