1. 程式人生 > 實用技巧 >My模板設計模式

My模板設計模式

模板模式

目標:

  • 第一個設計模式:模板模式

步驟:

  • 第一個設計模式:模板模式

講解:

我們現在使用抽象類設計一個模板模式的應用,

例如在小學的時候,我們經常寫作文,通常都是有模板可以套用的。

假如我現在需要定義新司機和老司機類,新司機和老司機都有開車功能,開車的步驟都一樣,只是駕駛時的姿勢有點不同,

新司機:開門,點火,雙手緊握方向盤,剎車,熄火

老司機:開門,點火,右手握方向盤左手抽菸,剎車,熄火

我們可以將固定流程寫到父類中,不同的地方就定義成抽象方法,讓不同的子類去重寫,

程式碼如下:

// 司機開車的模板類
public abstract class Driver {
public void go() {
System.out.println("開門");
System.out.println("點火");
     System.out.println("----------------------");
// 開車姿勢不確定?定義為抽象方法
ziShi();
System.out.println("剎車");
System.out.println("熄火");
}

public abstract void ziShi();
}

現在定義兩個使用模板的司機:

public class NewDriver extends Driver {

@Override
public void ziShi() {
System.out.println("新司機雙手緊握方向盤");
}
}

public class OldDriver extends Driver {
@Override
public void ziShi() {
System.out.println("老司機右手握方向盤左手抽菸...");
}
}

編寫測試類

public class Demo02 {
public static void main(String[] args) {
NewDriver nd = new NewDriver();
nd.go();

OldDriver od = new OldDriver();
od.go();
}
}

執行效果

小結:

  模板模式

    • 模板已經定義了通用架構(共性行為和屬性)

    • 使用者只需要關心自己需要實現的功能即可(特殊行為和屬性)

  • 主要運用父類和Abstract抽象方法來執行