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

    image.png

    java代码:

    1. public class TemplateMethodTest {
    2. public static void main(String[] args) {
    3. AbstractClass concreteClass = new ConcreteClass();
    4. concreteClass.TemplateMethod();
    5. }
    6. }
    7. //骨架
    8. public abstract class AbstractClass {
    9. public abstract void PrimitiveOperation1();
    10. public abstract void PrimitiveOperation2();
    11. public void TemplateMethod(){
    12. PrimitiveOperation1();
    13. PrimitiveOperation2();
    14. }
    15. }
    16. //实现类
    17. public class ConcreteClass extends AbstractClass {
    18. @Override
    19. public void PrimitiveOperation1() {
    20. System.out.println("方法1");
    21. }
    22. @Override
    23. public void PrimitiveOperation2() {
    24. System.out.println("方法2");
    25. }
    26. }