一起来学习设计模式:模板模式

2018-10-24  本文已影响23人  __y

1.模板模式的概念

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

2.实现

image.png

stap1:

public abstract class Game {
    abstract void initialize();
    abstract void starPlay();
    abstract void endPlay();

    public final void play() {

        //初始化游戏

        initialize();

        //开始游戏

        starPlay();


        //结束游戏

        endPlay();
    }
}

public class Cricket extends Game {
    @Override
    void initialize() {
        System.out.println("Cricket Game Finished!");

    }

    @Override
    void starPlay() {
        System.out.println("Cricket Game Initialized! Start playing.");
    }

    @Override
    void endPlay() {
        System.out.println("Cricket Game Started. Enjoy the game!");
    }
}
public class Football extends Game {
    @Override
    void initialize() {
        System.out.println("Football Game Finished!");

    }

    @Override
    void starPlay() {
        System.out.println("Football Game Initialized! Start playing.");

    }

    @Override
    void endPlay() {
        System.out.println("Football Game Started. Enjoy the game!");

    }
}

step2:

public class TemplatePatternDemo {
    public static void main(String[] args) {
        Game game = new Cricket();
        game.play();
        System.out.println();
        game = new Football();
        game.play();
    }
}

结果:


image.png

3.总结:

模板模式就是我学基础的时候抽象类的灵活运用。行为由父类控制,实现由子类

上一篇 下一篇

猜你喜欢

热点阅读