1. 程式人生 > 其它 >模板模式(十五)

模板模式(十五)

技術標籤:設計模式

一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。

意圖:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。

模板類

public abstract class Game {
    abstract void initialize();
    abstract void startPlay();

    public final void play(){
        initialize();
        startPlay();
    }
}

實現類

public class FootBall extends Game{

    @Override
    void initialize() {
        System.out.println("prepare foot ball");
    }

    @Override
    void startPlay() {
        System.out.println("play foot ball");
    }
}
public class BasketBall extends Game{

    @Override
    void initialize() {
        System.out.println("prepare basketball");
    }

    @Override
    void startPlay() {
        System.out.println("play BasketBall");
    }
}

Main

        Game game = new BasketBall();
        game.play();