[Java代码]
//Component.java文件
public (1) class Component {
abstract publ ic void prtTicket();
}
//salesTicket.java文件
public class SalesTicket extends Component{
public void prtTicket(){
//Sales ticket printing code here
System.out.printin("SalesTicket");
}
}
//Decorator.java文件
publ ic abstract class Decorator extends Component{
public void prtTicket(){
if(myComp!=null)myComp.prtTicket();
}
private (2) myComp;
public Decorator(Component myC){
myComp=myC;
}
}
//Footer.java文件
public class Footer extends Decorator {
public Footer(Component myC){ (3) ;
}
public void prtTicket(){ (4) ;
prtFooter();
}
publ ic void prtFooter(){
//place printing footer code here
System.out.println("Footer");
}
}
//salesorder.java文件
public class SalesOrder{
void prtTicket(){
Component myST;
myST=new Footer( (5) );
//Print Ticket with footers as needed
myST.prtTicket();
}
}