一,装饰者模式的功能是为了增强一个类的功能,使用比较灵活,但是逻辑有点复杂。它这里用到了多态的一些技术。
二,装饰者模式的步骤 1,继承一个相同类或者实现一个相同接口
2,内部维护一个被装饰的对象
3,通过构造函数的方法去处理。
三,代码
interface Worker{
public void work();
}
class Son implements Worker{
@Override
public void work() {
System.out.println("画画");
}
}
class Mother implements Worker{
Worker worker;
public Mother(Worker worker) {
this.worker = worker;
}
@Override
public void work() {
worker.work();
System.out.println("上颜料");
}
}
class Father implements Worker{
Worker worker;
public Father(Worker worker) {
this.worker = worker;
}
@Override
public void work() {
worker.work();
System.out.println("上相框");
}
}
public class NowerCoder {
public static void main(String[] args) {
Son son = new Son();
son.work();
Mother m = new Mother(son);
m.work();
Father f = new Father(m);
f.work();
}
}