package com.sjms._07_结构_装饰者模式;
/**
* 测试类【之】煎饼果子来一套
* <p>
* 不改变原有对象的基础上,强化已经存在的功能
* 被装饰者与装饰者实现同一个抽象或接口
* 装饰后,最终还是调用同名方法,只不过运行时会被动态修饰
* <p>
* 实现流程
* 1.装饰者与被装饰者实现同一个 抽象或接口
* 2.装饰者内部组合被装饰者
* 3.装饰者实现类,调用被装饰这的原方法后,进行逻辑扩展
* <p>
* 举例:
*
* <p>
* * 源码应用:InputStream
*/
public class _Test {
public static void main(String[] args) {
//
ChinesePizza pizza = new ChinesePizza();
System.out.println(pizza.food() + " : " + pizza.price());
//
DecorateAddChang adChang = new DecorateAddChang(pizza);
System.out.println(adChang.food() + " : " + adChang.price());
//
DecorateAddDan addDan = new DecorateAddDan(adChang);
System.out.println(addDan.food() + " : " + addDan.price());
//
//
DecorateAddChang 反复装饰 = new DecorateAddChang(new DecorateAddDan(new DecorateAddDan(pizza)));
System.out.println(反复装饰.food() + " : " + 反复装饰.price());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java设计模式【之】装饰者模式【源码】【场景:煎饼果子+肠+蛋】 * 测试类【之】煎饼果子来一套 * <p> * 不改变原有对象的基础上,强化已经存在的功能 * 被装饰者与装饰者实现同一个抽象或接口 * 装饰后,最终还是调用同名方法,只不过运行时会被动态修饰 * <p> * 实现流程 * 1.装饰者与被装饰者实现同一个 抽象或接口 * 2.装饰者内部组合被装饰者 * 3.装饰者实现类,调用被装饰这的原方法后,进行逻辑扩展 * <p> * 举例: * * <p> * * 源码应用:InputStream
资源详情
资源评论
资源推荐
收起资源包目录
java设计模式【之】装饰者模式【源码】【场景:煎饼果子+肠+蛋】.rar (6个子文件)
_07_结构_装饰者模式
_Test.java 1KB
DecorateAddChang.java 379B
APizza.java 268B
ChinesePizza.java 239B
DecorateAddDan.java 371B
ADecorate.java 227B
共 6 条
- 1
长毛山顶洞人
- 粉丝: 99
- 资源: 52
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0