2016年下半年软件设计师真题+答案解析(上午选择+下午案例完整版)全国计算机软考

发布时间 : 星期二 文章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))

联系合同范文客服:xxxxx#qq.com(#替换为@)