装饰者模式

来源:互联网 发布:adams2016软件卸载 编辑:程序博客网 时间:2024/06/15 01:33

装饰者模式(Decorator Pattern)

这里写图片描述

1、 Work.java 接口
2、 Son.java 被装饰者-负责画画
3、 Mother.java 装饰者-负责上颜色
4、 Father.java 装饰者-负责装画框
5、 Test.java 带有main方法的测试类

package zhuangshizheDemo;public interface Work {    public void work();    }
package zhuangshizheDemo;public class Son implements Work {    @Override    public void work() {        // TODO 自动生成的方法存根       System.out.println("儿子的工作就是画画......");    }}
package zhuangshizheDemo;public class Mather implements Work {    Work worker;    public Mather(Work worker) {        super();        this.worker = worker;    }    @Override    public void work() {        worker.work();        // TODO 自动生成的方法存根        System.out.println("母亲的工作就是在儿子的基础上做一个增强,不单止可以画画,还可以上涂料......");    }}
package zhuangshizheDemo;public class Father implements Work {    //需要被增强的类    Work worker;    public Father(Work worker) {        super();        this.worker = worker;    }    @Override    public void work() {        // TODO 自动生成的方法存根          worker.work();          System.out.println("爸爸的工作就是在妈妈基础上做了增强,不单止可以画画,还可以上涂料,还可以上画框 ^_^");    }}
package zhuangshizheDemo;public class Test {    public static void main(String[] args) {        // TODO 自动生成的方法存根        Son s=new Son();        s.work();        System.out.println("______________________________________");        Mather m=new Mather(s);        m.work();        System.out.println("______________________________________");        Father f=new Father(m);        f.work();        }    }

这里写图片描述

原创粉丝点击