您的位置:首页 > 编程语言 > Java开发

设计模式学习之装饰模式

2018-03-27 12:59 267 查看
属于对象组合。package wwx.test;

interface Handler {
void execute();
}

class A implements Handler {
@Override
public void execute() {
System.err.println("执行A逻辑");
}
}

class B implements Handler {
private A a;

B(A a) {
this.a = a;
}

@Override
public void execute() {
// TODO Auto-generated method stub
a.execute();
System.err.println("执行B逻辑");
}

}

class C implements Handler {
private B b;

C(B b) {
this.b = b;
}

@Override
public void execute() {
// TODO Auto-generated method stub
b.execute();
System.err.println("执行C逻辑");
}

}

public class Test {
public static void main(String[] args) {
new B(new A()).execute();
System.err.println("-------------");
new C(new B(new A())).execute();
}
}总结:
装饰模式是扩展对象的功能,而且类继承是增加对象的功能。
比如一个对象可以喝水,但是我要吃饭,这里用继承。
但是我要优雅的喝水,用装饰模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 设计模式