试题详情

阅读下列说明和java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。 【java代码】 class invoice{ public void printInvoice( ){ System.out.println ( "This is the content of the invoice!"); } } class Decorator extends Invoice { protected Invoice ticket; public Decorator(lnvoice t){ ticket = t; } public void printInvoice( ){ if(ticket != null) (1) ; } } class HeadDecorator extends Decorator{ public HeadDecorator(lnvoice t){ super(t); } public void printInvoice ( ){ Systent.out.println( "This is the header of the invoice! "); (2) ; } } class FootDecorator extends Decorator { public FootDecorator(Invoice t){ super(t); } public void printlnvoice( ){ ( 3) ; Systent.out.println( "This is the footnote of the invoice! "); } } Class test { public static void main(String[] args){ Invoice t =new Invioce( ); Invoice ticket; ticket= (4) ; ticket.printInvoice( ); Systent.out.println(“------------------“); ticket= (5) ; ticket.printInvoice( ); } } 程序的输出结果为: This is the header of the invoice! This is the content of the invoice! This is the footnote of the invoice! ---------------------------- This is the header of the invoice! This is the footnote of the invoice!