zoukankan      html  css  js  c++  java
  • 模板方法模式

    1.介绍:

    在模板方法模式中,一个算法可以分多个步骤,这些步骤的执行顺序是在另外一个方法中的,这个方法被称为模板方法。同时,每个步骤也对应一个方法,这些方法被称为基本方法。模板方法会按照它定义的顺序一次调用多个基本方法。在这个过程中,会将模板方法的实现和哪些固定不变的基本方法的实现放在父类中,而那些不固定的基本方法放在子类中。

    2.代码实现

    创建一个抽象父类AbstractClass:

    public abstract class AbstractClass {
        // 模板方法 
        public void template(){
           operation1();
    operation2();
    operation3(); }
    // 不固定的基本方法
    public abstract void operation1(); // 固定不变的基本方法 public void operation2(){ system.out.println("AbstractClass:operation2"); };
    // 不固定的基本方法
    public abstract void operation3(); }

    创建子类ConcreteClass1和ConcreteClass2:

    public class ConcreteClass1 extends AbstractClass {
    
        @Override
        public void operation1() {
            System.out.println("ConcreteClass1:operation1");
        }
    
        @Override
        public void operation3() {
            System.out.println("ConcreteClass1:operation3");
        }
    
    }
    public class ConcreteClass2 extends AbstractClass {
    
        @Override
        public void operation1() {
            System.out.println("ConcreteClass2:operation1");
        }
    
        @Override
        public void operation3() {
            System.out.println("ConcreteClass2:operation3");
        }
    
    }

    这就是模板方法模式,比较简单。

  • 相关阅读:
    poj1904 King's Quest
    ACM竞赛须掌握的知识 以及 2个版本的POJ推荐 @ NKOJ discuss 转载的
    poj1466
    C++23中设计模式的factory模式
    poj3667 hotel
    poj1505 Copying Books
    在linux系统中安装VSCode(Visual Studio Code)
    Spring_的jar详细说明
    java开发问题总结4Maven使用问题汇总
    线程同步之信号量(sem_init,sem_post,sem_wait)
  • 原文地址:https://www.cnblogs.com/51life/p/9646089.html
Copyright © 2011-2022 走看看