1.含义
装饰模式又名包装(Wrapper)模式,以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
与适配器模式的不同点:
它和委派对象实现同一个接口。
2.类图
3.类代码
/* * 抽象构件角色 */ public interface Component { void sampleOperation(); } /* * 具体构件角色 */ public class ConcreteComponent implements Component { public ConcreteComponent() { } public void sampleOperation() { System.out.println("ConcreteComponent"); } } /* * 装饰角色 */ public class Decorator implements Component { private Component component; public Decorator(Component c) { this.component = c; } public Decorator() { } public void sampleOperation() { component.sampleOperation(); } } /* * 具体装饰角色 */ public class ConcreteDecorator extends Decorator { public void sampleOperation() { super.sampleOperation(); } } /* * 测试类 */ public class Test { public static void main(String[] args) { Component c = new Decorator(new ConcreteComponent()); c.sampleOperation(); } }
z