设计模式-模板模式

步骤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游戏

你可能感兴趣的:(设计模式-模板模式)