Template Method模式(模板模式)
阿新 • • 發佈:2019-01-28
public class StringDisplay extends AbstractDisplay { // StringDisplay也是AbstractDisplay的子類
private String string; // 需要顯示的字串
private int width; // 以位元組為單位計算出的字串長度
public StringDisplay(String string) { // 建構函式中接收的字串被
this.string = string; // 儲存在欄位中
this.width = string.getBytes().length; // 同時將字串的位元組長度也儲存在欄位中,以供後面使用
}
public void open() { // 重寫的open方法
printLine(); // 呼叫該類的printLine方法畫線
}
public void print() { // print方法
System.out.println("|" + string + "|"); // 給儲存在欄位中的字串前後分別加上"|"並顯示出來
}
public void close() { // close方法
printLine(); // 與open方法一樣,呼叫printLine方法畫線
}
private void printLine() { // 被open和close方法呼叫。由於可見性是private,因此只能在本類中被呼叫
System.out.print("+"); // 顯示錶示方框的角的"+"
for (int i = 0; i < width; i++) { // 顯示width個"-"
System.out.print("-"); // 組成方框的邊框
}
System.out.println("+"); // /顯示錶示方框的角的"+"
}
private String string; // 需要顯示的字串
private int width; // 以位元組為單位計算出的字串長度
public StringDisplay(String string) { // 建構函式中接收的字串被
this.string = string; // 儲存在欄位中
this.width = string.getBytes().length; // 同時將字串的位元組長度也儲存在欄位中,以供後面使用
}
public void open() { // 重寫的open方法
printLine(); // 呼叫該類的printLine方法畫線
}
public void print() { // print方法
System.out.println("|" + string + "|"); // 給儲存在欄位中的字串前後分別加上"|"並顯示出來
}
public void close() { // close方法
printLine(); // 與open方法一樣,呼叫printLine方法畫線
}
private void printLine() { // 被open和close方法呼叫。由於可見性是private,因此只能在本類中被呼叫
System.out.print("+"); // 顯示錶示方框的角的"+"
for (int i = 0; i < width; i++) { // 顯示width個"-"
System.out.print("-"); // 組成方框的邊框
}
System.out.println("+"); // /顯示錶示方框的角的"+"
}