装饰者模式笔记
来源:互联网 发布:死亡天使蘑菇 淘宝 编辑:程序博客网 时间:2024/06/05 04:23
概念理解:装饰者模式(Decorator),就是装饰一下某种东西,使得他比原来增加些东西,比如化妆,原来单眼皮,给贴上个假双(这里也许不太贴切哈,莫怪),就具备了双眼皮效果。回到java上来说,就是给某个类的功能进行加强,扩展了其功能而已。
模式由来:我们要对一个类进行增强,因为不推荐直接修改源代码,才产生了装饰者模式。
原理:有一个类实现了A接口,我们要加强这个类,所以写了一个新类也实现这个接口并把原类的接口的引用添加到新类,在新类中重写要加强的方法并在方法中调用要这个加强的方法,从而实现增强。
例子:一只狗只会跑,我想让它跑完了就飞起来!(在“跑”这个方法上加入“飞”的附加业务)
interface Animal{
public void run();
}
class Dog implements Animal{
@override
public void run(){
System.out.println("狗在跑");
}
}
//被装饰者
class FlyDog implements Animal{
//原类的接口的引用
Animal animal = null;
//构造方法
public FlyDog(Animal animal){
this.animal = animal;
}
//重写要加强的方法
@override
public void run(){
animal.run();//原来的功能
System.out.println("它越来越快,最后它飞了起来");
}
}
此时,如果您new的是Dog,那么它只会跑。如果您new的是FlyDog,那么,它跑完后要飞起来!我们成功的在“跑”上加入了“飞”。
1 0
- 装饰者模式笔记
- 装饰者模式学习笔记
- 【学习笔记】装饰者模式
- 【js设计模式笔记---装饰者模式】
- 设计模式笔记-装饰者模式
- 【js设计模式笔记---装饰者模式】
- 设计模式笔记-装饰者模式
- 设计模式-装饰者模式学习笔记
- 设计模式之装饰者模式-笔记
- HeadFirst design pattern笔记-装饰者模式
- 笔记:装饰者模式的初步理解
- Head first笔记三:装饰者模式
- Java进阶笔记(装饰者模式)
- 学习笔记之装饰者模式
- 装饰器模式(笔记)
- 装饰模式--学习笔记
- 装饰器模式笔记
- 装饰模式学习笔记
- 强悍的javascript手势库
- [2016ICPC 大连网络预选赛] HDU5874 构造
- C++ getline
- C# RichTextBox 滚动条 滚动到最后一行
- 单例模式之个人笔记(一)
- 装饰者模式笔记
- 《将博客搬至CSDN》
- Linux - C预习内容(六)
- Android开源库-用于显示标签的流式布局
- 公钥、私钥和数字签名理解
- 网页编码utf8 gb2312 gbk的区别
- HDU 5491 The Next(构造)
- mysql for windows 密码重置
- 数据结构基础——栈的C++实现