设计模式学习-模板方法模式(Template Method)

1.定义

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

2.结构

① 模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。可以用final修饰,不让子类去覆盖。

② 基本方法:是整个算法中的一个步骤,包含以下几种类型。

    • 抽象方法:在抽象类中声明,由具体子类实现。
    • 具体方法:在抽象类中已经实现,在具体子类中可以继承或重写它。
    • 钩子方法:在抽象类中已经实现,包括用于判断的逻辑方法和需要子类重写的空方法两种。默认不做任何事,子类可以视情况要不要覆盖它
       

结构图:

 

posted @ 2021-04-28 11:03  heils  阅读(46)  评论(0)    收藏  举报