题库 题库

【简答题】

试题八(共 15 分)
  阅读以下说明和 Java 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
  在下面的 Java 程序代码中,类 SalesTicket 能够完成打印票据正文的功能,类 HeadDecorator 与 FootDecorator 分别完成打印票据的台头和脚注的功能。
  已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
  这是票据的台头!
   这是票据正文!
   这是票据的脚注!
  ------------------------
  这是票据的台头!
   这是票据的脚注!
[Java 程序代码]
  public class SalesTicket {
   public void printTicket() {
    System.out.println("这是票据正文!");
   }
  }
  public class Decorator extends SalesTicket{
   SalesTicket ticket;
   public Decorator(SalesTicket t){
    ticket = t;
   }
   public void printTicket(){
    if(ticket != null)
    ticket.printTicket();
   }
  }
  public class HeadDecorator extends Decorator{
   public HeadDecorator(SalesTicket t) {
    (1) ;
   }
   public void printTicket() {
    System.out.println("这是票据的台头!");
    super.printTicket();
   }
  }
  public class FootDecorator extends Decorator{
   public FootDecorator(SalesTicket t) {
    (2) ;
   }
   public void printTicket() {
    super.printTicket();
    System.out.println("这是票据的脚注!");
   }
  }
  public class Main {
   public static void main(String[] args) {
    T = new HeadDecorator( (3) );
    T. (4) ;
    System.out.println("------------------------");
    T = new FootDecorator( (5) ); T.printTicket();
   }
  }

参考答案

(1) super(t)
(2) super(t)
(3) new FootDecoratro (new SalesTicket())
(4) printTicket()
(5) new HeadDecorator (null)

相关试题