camcay

定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

类图

示例

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();
    }
}

运行结果

 

 其他

  • 抽象类可以决定算法中的哪些步骤必须被重写。
  • 抽象类中可以使用钩子,让子类可以控制算法的某些步骤。

分类:

技术点:

相关文章:

  • 2021-07-22
  • 2021-08-23
  • 2022-03-05
  • 2022-12-23
  • 2021-10-07
  • 2021-09-06
  • 2021-05-10
猜你喜欢
  • 2021-09-01
  • 2021-10-22
  • 2022-12-23
  • 2021-08-28
  • 2021-07-31
  • 2021-09-22
相关资源
相似解决方案