【GoF 23】篇6:模板方法

1. 什么是模板方法?

模板方法固定了算法的结构

简单来说就是,定义好了一套算法,子类可以在这套算法的基础上进行修改(可以继承或重写)

2. 模板方法的结构

抽象类:

  • 模板方法:定义算法的骨架。它由一个模板方法或若干个基本方法构成。
  • 具体方法:实现算法的具体的方法。是模板方法的组成部分,基本方法又有3种实现。
    • 抽象方法:定义功能,具体行为由实现类实现。
    • 具体方法:非抽象方法,有自己的方法体,允许子类重写。
    • 钩子方法:一般钩子方法是用于判断的逻辑方法,返回值为boolean类型,方法名一般为isXxx()。钩子方法有两种:①非抽象方法,有自己的方法体,允许实现类重写。②抽象方法,具体的行为由实现类来实现。

具体子类: 实现抽象类中所定义的抽象方法和钩子方法,可以继承或重写其中一些方法。

猜你喜欢

转载自blog.csdn.net/qq_45872039/article/details/129466116