-
publicabstractclassBeverage{
-
Stringdescription="UnknownBeverage";
-
publicStringgetDescription(){
-
returndescription;
- }
-
publicabstractdoublecost();
- }
-
publicabstractclassCondimentDecoratorextendsBeverage{
-
publicabstractStringgetDescription();
- }
-
publicclassDarkRoastextendsBeverage{
-
publicDarkRoast(){
-
description="DarkRoastCoffee";
- }
-
publicdoublecost(){
-
return.99;
- }
- }
-
publicclassMilkextendsCondimentDecorator{ //加牛奶的咖啡
- Beveragebeverage;
-
publicMilk(Beveragebeverage){
-
this.beverage=beverage;
- }
-
publicStringgetDescription(){
-
returnbeverage.getDescription()+",Milk";
- }
-
publicdoublecost(){
-
return.10+beverage.cost();
- }
- }
要计算加牛奶的咖啡的价格
Milk milk = new Milk(new DarkRoast());
milk.cost();
分享到:
相关推荐
设计模式 - 装饰者模式
设计模式--装饰者模式java例子
本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧...——《Head First 设计模式》
使用PHP实现的设计模式之装饰者模式,希望对您的开发有所启发。
设计模式--装饰模式 设计模式--装饰模式 设计模式--装饰模式 设计模式--装饰模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
23种设计模式--装饰模式
设计模式 - 装饰模式(C++实例) 若有问题,请指出。
JAVA-设计模式-结构型模式-装饰模式
c++设计模式-结构型模式-装饰器模式;QT工程;c++简单源码; 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
java常用设计模式-装饰器模式
装饰者模式:动态地将责任附加到对象上,若要扩展对象,装饰者模式提供了比继承更弹性的替代方案
关于C++版本的装饰者设计模式, 供大家学习借鉴, 有问题一起讨论~
设计模式-装饰模式(讲解及其实现代码)
设计模式专题之(七)装饰模式---设计模式装饰模式示例代码(python--c++)
ios平台中通过最简单的代码讲解装饰器模式,可在博客http://blog.sina.com.cn/s/blog_161d504630102wxis.html中查看简单解释