`
wmj2003
  • 浏览: 97563 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

设计模式-装饰者模式

阅读更多
  1. publicabstractclassBeverage{
  2. Stringdescription="UnknownBeverage";
  3. publicStringgetDescription(){
  4. returndescription;
  5. }
  6. publicabstractdoublecost();
  7. }
  1. publicabstractclassCondimentDecoratorextendsBeverage{
  2. publicabstractStringgetDescription();
  3. }
  1. publicclassDarkRoastextendsBeverage{
  2. publicDarkRoast(){
  3. description="DarkRoastCoffee";
  4. }
  5. publicdoublecost(){
  6. return.99;
  7. }
  8. }
  1. publicclassMilkextendsCondimentDecorator{ //加牛奶的咖啡
  2. Beveragebeverage;
  3. publicMilk(Beveragebeverage){
  4. this.beverage=beverage;
  5. }
  6. publicStringgetDescription(){
  7. returnbeverage.getDescription()+",Milk";
  8. }
  9. publicdoublecost(){
  10. return.10+beverage.cost();
  11. }
  12. }

要计算加牛奶的咖啡的价格

Milk milk = new Milk(new DarkRoast());

milk.cost();

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics