/** * 装饰器的具体实现对象A,向组件对象添加职责 * @author itmyhome * */public class ConcreateDecoratorA extends Decorator{ public void run(){ super.run(); go(); //额外添加的职责 System.out.println("run A"); } public void go(){ System.out.println("A走一会"); }}/** * 装饰器的具体实现对象B,向组件对象添加职责 * @author itmyhome * */public class ConcreateDecoratorB extends Decorator{ public void run(){ super.run(); go();//额外添加的职责 System.out.println("run B"); } public void go(){ System.out.println("B走一会"); }}
5、测试类
/** * 测试类 * @author itmyhome * */public class Test { public static void main(String[] args) { ConcreateComponent cc = new ConcreateComponent(); ConcreateDecoratorA a = new ConcreateDecoratorA(); ConcreateDecoratorB b = new ConcreateDecoratorB(); a.setComponent(cc); b.setComponent(cc); a.run(); b.run(); }}