【Java设计模式】装饰者模式

来源:互联网 发布:adobe xd cc for mac 编辑:程序博客网 时间:2024/06/04 20:15
//原始接口interface Component{public void operator();}//默认目标实现类class TargetComponent implements Component{public void operator(){System.out.println("TargetComponentA");   }}//装饰实现类//封装了一个原始接口的对象实现:targetComponentabstract class  ComponentDecorator implements Component{private Component targetComponent;public ComponentDecorator(Component targetComponent){this.targetComponent = targetComponent;}public void operator(){targetComponent.operator();}}//具体装饰实现类class ComponentDecoratorA extends ComponentDecorator{public ComponentDecoratorA(Component component){super(component);}public void operator(){super.operator();System.out.println("ComponentDecoratorA"); }}//客户端public class Client{public static void main(String[] args){//装饰模式的基本含义是能够动态地为一个对象添加一些额外的行为职责Component component = new ComponentDecoratorA(new TargetComponent());component.operator();}}