設計模式-模板模式

步驟1

抽象模板結構

public abstract class TencentGame {
        //添加final關鍵字,防止子類覆蓋此方法修改流程
    public final void play() {
        showLogo();
        init();
        startPlay();
        endPlay();
    }
    
    void showLogo() {
        System.out.println("顯示騰訊游戲Logo");
    }

    abstract void init();

    abstract void startPlay();

    abstract void endPlay();
}

步驟2

具體模板

//FPS類型游戲
public class FPSGame extends TencentGame {

    @Override
    void init() {
        System.out.println("初始化FPS游戲");
    }

    @Override
    void startPlay() {
        System.out.println("開始玩FPS游戲");
    }

    @Override
    void endPlay() {
        System.out.println("結束FPS游戲");
    }

}

//RGP類型游戲
public class RGPGame extends TencentGame {

    @Override
    void init() {
        System.out.println("初始化RGP游戲");
    }

    @Override
    void startPlay() {
        System.out.println("開始玩RGP游戲");
    }

    @Override
    void endPlay() {
        System.out.println("結束RGP游戲");
    }

}

步驟3

測試

TencentGame game = new FPSGame();
game.play();
System.out.println("---------------");
TencentGame game2 = new RGPGame();
game2.play();

輸出

顯示騰訊游戲Logo
初始化FPS游戲
開始玩FPS游戲
結束FPS游戲
---------------
顯示騰訊游戲Logo
初始化RGP游戲
開始玩RGP游戲
結束RGP游戲
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、概念介紹模版方法模式的結構 定義一個操作中算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變算法的結構即...
    William8閱讀 440評論 0 1
  • 什么是模板模式 定義一個操作中的算法框架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結構即可重定義該算...
    元濤閱讀 494評論 0 1
  • 1.模板模式的定義及使用場景定義一個操作中的算法框架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結構即...
    GB_speak閱讀 694評論 0 0
  • 一、概念 將算法通用部分抽象出來,延遲到子類實現 1.1、定義 定義一個操作中的算法的骨架,而將一些步驟延遲到子類...
    雙魚子曰1987閱讀 335評論 0 0
  • 12月休假去北京玩,順便去了一趟空總看皮膚,上班以來皮膚角質層日益變薄爆痘是常態,想說去一下全國數一數二的皮膚科看...
    ceciliayiyi閱讀 124評論 0 0