设计模式-装饰者模式

  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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值