要求输出:
这是票据的台头!
这是票据的正文!
这是票据的脚注!
-----------
这是票据的台头!
这是票据的脚注!请问下面的五个空该怎么填呢?
代码如下:class SalesTicket {
public void printTicket() {
System.out.println("这是票据正文!");
}
}class Decorator extends SalesTicket {
SalesTicket ticket;
public Decorator(SalesTicket t) {
ticket = t;
}
public void printTicket() {
if(ticket != null) {
ticket.printTicket();
}
}
}
class HeadDecorator extends Decorator {
public HeadDecorator(SalesTicket t) {
_________________________; (1)
}
public void printTicket() {
System.out.println("这是票据的台头!");
super.printTicket();
}
}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 HeadDecorator(_____________________); (5)
T.printTicket();
}}
这是票据的台头!
这是票据的正文!
这是票据的脚注!
-----------
这是票据的台头!
这是票据的脚注!请问下面的五个空该怎么填呢?
代码如下:class SalesTicket {
public void printTicket() {
System.out.println("这是票据正文!");
}
}class Decorator extends SalesTicket {
SalesTicket ticket;
public Decorator(SalesTicket t) {
ticket = t;
}
public void printTicket() {
if(ticket != null) {
ticket.printTicket();
}
}
}
class HeadDecorator extends Decorator {
public HeadDecorator(SalesTicket t) {
_________________________; (1)
}
public void printTicket() {
System.out.println("这是票据的台头!");
super.printTicket();
}
}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 HeadDecorator(_____________________); (5)
T.printTicket();
}}
2: super(t);
3: new FootDecorator(new SalesTicket ());
4: new SalesTicket ();
public void printTicket() {
System.out.println("这是票据正文!");
}
}
class Decorator extends SalesTicket {
SalesTicket ticket; public Decorator(SalesTicket t) {
ticket = t;
} public void printTicket() {
if(ticket != null) {
ticket.printTicket();
}
}
}
class HeadDecorator extends Decorator {
public HeadDecorator(SalesTicket t){
super(t); //(1)
}
public void printTicket() {
System.out.println("这是票据的台头!");
super.printTicket();
}
} class FootDecorator extends Decorator {
public FootDecorator(SalesTicket t) {
super(t); //(2)
}
public void printTicket() {
super.printTicket();
System.out.println("这是票据的脚注"); }
} public class Main {
public static void main(String [] args) {
HeadDecorator T = new HeadDecorator(new FootDecorator(new SalesTicket())); //(3)
T.printTicket(); // (4)
System.out.println("-------------");
T = new HeadDecorator(new FootDecorator(null)); // (5)
T.printTicket();
} }
运行结果如下:这是票据的台头!
这是票据正文!
这是票据的脚注
-------------
这是票据的台头!
这是票据的脚注