阅读以下说明和Jrdva代码,将应填入 (n) 处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。 [图6-1] [*] [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();