步驟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游戲