第7章装饰模式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5. Starbuzz Coffee fee system * DarkRoast.java public class DarkRoast extends Beverage { public DarkRoast() { description = Dark Roast Coffee; } public double cost() { return 0.99; } } 5. Starbuzz Coffee fee system * 请编写另外三种咖啡类的代码 Espresso HouseBlend Decaf 5. Starbuzz Coffee fee system * Mocha.java(具体包装者:调味品Mocha) public class Mocha extends CondimentDecorator { Beverage beverage; public Mocha(Beverage beverage) { this.beverage = beverage; } public String getDescription() { return beverage.getDescription() + , Mocha; } public double cost() { return 0.20 + beverage.cost(); } } 我们希望不仅描述咖啡本身,还要包括调味品,所以先委派被包装的对象获取它的描述,再加上调味品的描述。 实例化的调味品Mocha包装一种饮料:方法是申明一个Beverage实例变量,通过构造方法对该变量赋值,引用被包装的饮料。 计算价格时,先委派被包装的对象计算其价格,再加上调味品的价格。 5. Starbuzz Coffee fee system * 请编写其他调味品类的代码 Whip Milk Soy 5. Starbuzz Coffee fee system * 咖啡店营业:StarbuzzCoffee.java public class StarbuzzCoffee { public static void main(String args[]) { Beverage beverage = new Espresso(); System.out.println(beverage.getDescription()+ $ + beverage.cost()); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); System.out.println(beverage2.getDescription()+ $ + beverage2.cost()); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); System.out.println(beverage3.getDescription()+ $ + beverage3.cost()); } } 装饰模式 装饰模式实例与解析 实例三. 请使用状态模式实现下列编程要求:为了美化图片,请根据需要给图片增加 景图片修饰、边框文本描述等修饰。运行结果如图1所示。 演示…… 第7章 装饰模式 本章教学内容 装饰模式 模式动机与定义 模式结构与分析 模式实例与解析 模式效果与应用 模式动机 考虑在一个系统中使用多种加密加密算法。m1,m2,m3,m4 其中m1是必须的。其他可任意组合。方案有 {m1}{m1,m2} {m1,m3}{m1,m4}{m1,m2,m3}{m1,m3,m4} {m1,m2,m3,m4}可选方案先定义一个类m1,其他类再继承。 但会造成子类过多的问题。 5. Starbuzz Coffee fee system * Welcome to Starbuzz Coffee 问题分析 Starbuzz Coffee卖的是饮料,无论何种咖啡(DarkRoast,Decaf,Espresso, HouseBlend),都是饮料的一种,因此,应该将各种咖啡抽象成一个超类,这样一些共同的代码可以写到超类中。 每种咖啡都应该有个描述它保存这该饮料的具体说明信息,以便顾客了解这种饮料。 每种咖

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档