public abstract class GameTemplate {
final void playGame(){
startGame();
play();
endGame();
}
void startGame(){
System.out.println("游戏开始!");
}
abstract void play();
void endGame(){
System.out.println("游戏结束");
}
}
public class MarioGame extends GameTemplate {
@Override
void play() {
System.out.println("正在运行-超级马里奥!");
}
}
public class ZeldaGame extends GameTemplate {
@Override
void play() {
System.out.println("正在运行-塞尔达传说");
}
}
public class Client {
public static void main(String[] args){
GameTemplate mario = new MarioGame();
mario.playGame();
GameTemplate zelda = new ZeldaGame();
zelda.playGame();
}
}