// //刚开始微信和支付宝都有支付和查询功能
// PaymentInterface wechatPay = new WechatPay();
// wechatPay.pay();
// wechatPay.query();
// PaymentInterface aliayPay = new AliayPay();
// aliayPay.pay();
// aliayPay.query();
// //现在我想给支付宝添加一个退款功能,微信不需要。我不能在接口里面新增个退款方法(每个子类都要重写),这时候就可以用装饰者模式
// DecoratorPay decoratorAliayPay = new DecoratorPay(new AliayPay());
// decoratorAliayPay.pay();
// decoratorAliayPay.query();
// decoratorAliayPay.returnMoney();
// DecoratorPay decoratorWechatPay = new DecoratorPay(new WechatPay());
// decoratorWechatPay.pay();
// decoratorWechatPay.query();
//现在有了退款功能,还需要一个对账功能,这时候再新增个对账功能
BillPay billPay = new BillPay(new DecoratorPay(new AliayPay()));
billPay.pay();
billPay.query();
billPay.returnMoney();
billPay.bill();
//装饰模式的作用就是把父类定义为子类的参数,再不修改父类的前提下进行扩展,适配器是增加其他功能,会改变父类
装饰者模式
最新推荐文章于 2025-07-01 14:00:00 发布