設計模式(4)-模板模式

定義

將通用代碼或統一的結構封裝在抽象類中,可變的部分放在子類中去實現.


示例

遊戲有足球和板球,玩的步驟是統一的,都是先初始化,再開始,再結束.可將初始化,開始,結束的步驟封裝在抽象類Game中.再由子類實現細節.


1.抽象類

public abstract class Game {
    abstract void init();
    abstract void start();
    abstract void end();

    //規定好了遊戲的步驟,使用final防止惡意串改
    public final void play(){
        init();
        start();
        end();
    }
}

2.子類實現

public class Football extends Game{
    @Override
    void init() {
        System.out.println("足球遊戲初始化!!!");
    }

    @Override
    void start() {
        System.out.println("足球遊戲開始!!!");
    }

    @Override
    void end() {
        System.out.println("足球遊戲結束!!!");
    }
}
public class Cricket extends Game{
    @Override
    void init() {
        System.out.println("板球遊戲初始化!!!");
    }

    @Override
    void start() {
        System.out.println("板球遊戲開始!!!");
    }

    @Override
    void end() {
        System.out.println("板球遊戲結束!!!");
    }
}

3.運行

    public static void main(String[] args) {
        Game football = new Football();
        Game cricket = new Cricket();
        football.play();
        cricket.play();
    }

結果:

足球遊戲初始化!!!
足球遊戲開始!!!
足球遊戲結束!!!
板球遊戲初始化!!!
板球遊戲開始!!!
板球遊戲結束!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章