欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式之模板模式

程序员文章站 2022-03-14 10:15:06
...

设计模式之模板模式:

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

我们将创建一个定义操作的 Game 抽象类,其中,模板方法设置为 final,这样它就不会被重写。BasketballGame和 FootballGame 是扩展了 Game 的实体类,它们重写了抽象类的方法。

  1. 创建抽象类Game:
    public abstract class Game {
    abstract void startGame();
    abstract void endGame();
    abstract void init();
    final void play(){
    init();
    startGame();
    endGame();
    }

    }

  2. 创建扩展了上述类的实体类。
    public class FootballGame extends Game {
    @Override
    void startGame() {
    System.out.println(“start football”);
    }

    @Override
    void endGame() {
    System.out.println(“end football”);
    }

    @Override
    void init() {
    System.out.println(“init football”);

    }
    }

public class BasketballGame extends Game {
@Override
void startGame() {
System.out.println(“start basketball”);
}

@Override
void endGame() {
	System.out.println("end basketball");
}

@Override
void init() {
	System.out.println("init basketball");
}

}

  1. 使用测试类测试:
    public class TemplMain {
    public static void main(String[] args) {
    Game game = new FootballGame();
    game.play();

    }
    }
    设计模式之模板模式

相关标签: 设计模式