**
设计模式之装饰模式(Decorator模式)
**
Java设计模式之装饰模式(Decorator模式)
装饰模式又可以理解为油漆模式, 在墙面的基础上刷上一层一层的油漆进行装饰.
举例说明:
class Invoice{
public void printInvoice(){
System.out.println("正文");
}
}
class Decorator extends Invoice{
protected Invoice ticket;
public Decorator(invoice t){
ticket=t;
}
public void printInvoice(){
if(ticket!=null){
System.out.println("抬头");
}
}
}
class HeadDecorator extends Decorator{
public HeadDecorator(Invoice t){
super(t);
}
public void printInvoice(){
System.out.println("抬头");
ticket.printInvoice();
}
}
class FootDecorator extends Decorator{
public HeadDecorator(Invoice t){
super(t);
}
public void printInvoice(){
ticket.printInvoice();
System.out.println("注脚");
}
}
class test{
public static void main(String[] args){
Invoice t=new Invoice();
Invoice ticket;
ticket=new FootDecorator(new HeadDecorator(t));
ticket.printInvoice();
System.out.println("------------");
ticket=new FootDecorator(new HeadDecorator(null));
ticket.printInvoice();
}
}