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

    1.定义抽象类,

    2.定义抽象方法

    3.定义具体方法

    4.在具体方法里调用抽象方法

    5.子类继承抽象类并实现抽象方法

    6.不同的子类实现即可实现不同方法调用

    7.代码

    AbstractClass(抽象模板):

    package com.jxs.templateMethod;
    
    
    public abstract class AbstractClass {
    
        public abstract void primitiveOperation1();
    
        public abstract void primitiveOperation2();
    
        // 模板方法,给出了逻辑的骨架
        // 而逻辑的组成是一些相应的抽象操作,他们都推迟到子类实现
        public void templateMethod() {
    
            primitiveOperation1();
            primitiveOperation2();
            System.out.println("");
        }
    }

    ConcreteClassA:

    package com.jxs.templateMethod;
    
    
    public class ConcreteClassA extends AbstractClass {
    
        @Override
        public void primitiveOperation1() {
    
            System.out.println("具体类A方法1实现");
        }
    
        @Override
        public void primitiveOperation2() {
    
            System.out.println("具体类A方法2实现");
        }
    }

    ConcreteClassB:

    package com.jxs.templateMethod;
    
    
    public class ConcreteClassB extends AbstractClass {
    
        @Override
        public void primitiveOperation1() {
    
            System.out.println("具体类B方法1实现");
        }
    
        @Override
        public void primitiveOperation2() {
    
            System.out.println("具体类B方法2实现");
        }
    }

    客户端:

    package com.jxs.templateMethod;
    
    
    public class Client {
    
        public static void main(String[] args) {
    
            AbstractClass c;
    
            c = new ConcreteClassA();
            c.templateMethod();
    
            c = new ConcreteClassB();
            c.templateMethod();
        }
    }

    结果:

    具体类A方法1实现
    具体类A方法2实现
    
    具体类B方法1实现
    具体类B方法2实现
    
    
    Process finished with exit code 0
  • 相关阅读:
    CentOS7.2中安装MongoDB
    django 面试题
    python pandas库——pivot使用心得
    归并排序
    python实现归并排序,归并排序的详细分析
    二分法查找
    二叉树的遍历
    RabbitMQ(python实现)学习之一:简单两点传输“Hello World”的实现
    邻接表存储图,DFS遍历图的java代码实现
    五、python使用模块
  • 原文地址:https://www.cnblogs.com/xyzxy/p/12751461.html
Copyright © 2011-2022 走看看