设计模式-装饰者模式.PPT

上传人:国*** 文档编号:772787 上传时间:2018-10-31 格式:PPT 页数:10 大小:119KB
下载 相关 举报
设计模式-装饰者模式.PPT_第1页
第1页 / 共10页
设计模式-装饰者模式.PPT_第2页
第2页 / 共10页
设计模式-装饰者模式.PPT_第3页
第3页 / 共10页
设计模式-装饰者模式.PPT_第4页
第4页 / 共10页
设计模式-装饰者模式.PPT_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、设计模式装饰者模式o 假设一个饮料店n 抽象一个饮料类o 但是,就某种饮料来说n 可以要求在其中加入各种调料n 例如:奶,巧克力,糖等n 加入不同的调料,会形成不同名称的饮料n 这样饮料的数量将会很多,即继承于饮料父类的子类将会很多n 每个子类的 cost()方法将计算出特定饮料加上调料的价钱o 这会造成维护的噩梦n 如果奶的价钱上涨n 如果新增一种调料o 现在要以饮料为主体o 运行时以调料来 “装饰 ”( decorate)饮料定义装饰者模式o public class DarkRoast extends Beverage o public DarkRoast() o description

2、 = “Dark Roast Coffee“;o o o public double cost() o return .99;o o o public class Mocha extends CondimentDecorator o Beverage beverage;o o public Mocha(Beverage beverage) o this.beverage = beverage;o o o public String getDescription() o return beverage.getDescription() + “, Mocha“;o o o public doubl

3、e cost() o return .20 + beverage.cost();o o o public class StarbuzzCoffee o o public static void main(String args) o Beverage beverage = new Espresso();o System.out.println(beverage.getDescription() o + “ $“ + beverage.cost();o o Beverage beverage2 = new DarkRoast();o beverage2 = new Mocha(beverage2

4、);o beverage2 = new Mocha(beverage2);o beverage2 = new Whip(beverage2);o System.out.println(beverage2.getDescription() o + “ $“ + beverage2.cost();o o Beverage beverage3 = new HouseBlend();o beverage3 = new Soy(beverage3);o beverage3 = new Mocha(beverage3);o beverage3 = new Whip(beverage3);o System.out.println(beverage3.getDescription() o + “ $“ + beverage3.cost();o o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。