阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。
【正确答案】正确答案:(1)ticket.printlnvoice() (2)super.printlnvoice() (3)super.printlnvoice() (4)new HeadDecorator(new FootDecorator(t)) (5)new HeadDecorator(new FootDecorator(null))
【答案解析】解析:本题考查装饰(Decorator)模式的基本概念和应用。 装饰模式属于结构型设计模式,其设计意图是动态地给一个对象添加一些额外的职责。就增加功能而言,装饰模式比生成子类更加灵活。装饰模式的结构如图6-2所示。