当前位置:首页 > 2016年下半年软件设计师真题+答案解析(上午选择+下午案例完整版)全国计算机软考
第 6 题
阅读下列说明和java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】
某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。
问题:6.1 【java代码】 class invoice{
public void printInvoice(){
System.out.println ( \} }
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( \(2) ; } }
class FootDecorator extends Decorator { public FootDecorator(Invoice t){ super(t); }
public void printlnvoice(){ ( 3) ;
Systent.out.println( \} }
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!
答案解析:
(1)ticket.printInvoice() (2)super.printInvoice() (3)super.printInvoice()
(4)new HeadDecorator(new FootDecorator(t)) (5)new HeadDecorator(new FootDecorator(NULL))
共分享92篇相关文档