问题 填空题

[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据。显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。


[Java代码]
//Component.java文件
public ______ class Component
abstract public void prtTicket();
//SalesTicket.java文件
public class SalesTicket extends Component
public void prtTicket()
//Sales ticket printing code here
System.out.println("SalesTicket");


//Decorator.java文件
public abstract class Decorator extends Component
public void prtTicket()
if(myComp != null)myComp.prtTicket();

private ______ myComp;
public Decorator(Component myC)
myComp = myC;


//Footer.java文件
public class Footer extends Decorator
public Footer(Component myC)
______;

public void prtTicket()
______;
prtFooter();

public void prtFooter()
//place printing footer code here
System.out.println("Footer");


//SalesOrder.java文件
public class SalesOrder
void prtTicket()
Component myST;
myST = new Footer(______);
//Print Ticket with footers as needed
myST.prtTicket();

答案

参考答案:abstract
Component
super(myC)
super.prtTicket()
new SalesTicket()

单项选择题
单项选择题