步骤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游戏
网友评论