java设计模式 -Decorator
//抽象构件角色abstract public class Component{ abstract public void prtTicket(); } //具体构建角色public class SaleTicket extend Component{ public void prtTicket(){ System.out.println("Sale Ticket" ); } } //抽象装饰者角色abstract public class TicketDecorator extend Component { private Component myTrailer; public TicketDecorator(Component comp){ myTrailer = comp; } public void callTrailer(){ if (myTrailer != null ) myTrailer.prtTicket(); } } }//具体装饰角色headerpublic class Header extend TicketDecorator{ public Header(Component comp){ super(comp); } public void prtTicket(){ System.out.println("Header" ); super.callTrailer(); } } //具体装饰角色footerpublic class Footer extend TicketDecorator{ public Footer (Component comp){ super(comp); } public void prtTicket(){ super.callTrailer(); System.out.println("Footer" ); } } //测试public class Test{ public static void main(String args[]){ Component c = new Header( new Footer( new SaleTicket())); c.prtTicket(); } }