问题
填空题
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了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()