首页 > 其他 > 详细

【Java设计模式】装饰模式

时间:2014-02-12 23:34:45      阅读:485      评论:0      收藏:0      [点我收藏+]

(转载请注明出处:http://blog.csdn.net/buptgshengod

1.背景

        装饰模式就是为一个对象增添新的功能,在对象的基础上修饰。本文实现的功能是,对象a有方法show输出“This is a test”,经过装饰后输出“This is a test for decorate”。实质就是多个类通用一个接口,然后将要修饰的类定义在修饰类的构造函数里。

2.代码实现

(1)首先建立通用接口,里面有方法show()

package Decorate;

public interface Component {

    public void show();
}

(2)建立一个类实现show

package Decorate;

public class Concrete implements Component{
    public void show(){
        System.out.print("This is a test");
    }
}

(3)建立decorate的实现类

package Decorate;

public class Decorate implements Component {
    Component component;
    public Decorate(Component c){
        component=c;
    }
    public void show(){
        component.show();
        System.out.print(" for decorate");
    }
}

(4)客户端使用

package Decorate;

public class Client {
    public static void main(String[] args){
        Component a=new Concrete();
        Component b=new Decorate(a);
        a.show();
        System.out.println();
        b.show();
    }

}

结果

bubuko.com,布布扣


【Java设计模式】装饰模式

原文:http://blog.csdn.net/buptgshengod/article/details/19117377

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!