zoukankan      html  css  js  c++  java
  • 设计模式(3)Template模板设计模式

    一.什么是模板模式

    在父类中定义处理流程的框架,在子类中实现具体的处理的模式.

    二.示例类

    AbstractDisplay : 只实现display方法的抽象类

    CharDisplay : 实现了open,print,close具体方法的类

    StringDisplay : 实现了open,print,close具体方法的类

    Main : 测试程序行为的类

    三.分析

    1.首先先看AbstractDisplay,他是一个模板,假如他想要打开文件,调用输出五次,再关闭.

    public abstract class AbstractDisplay{

      //定义要调用的抽象类

      public abstract void open();

      public abstract void print();

      public abstract void close();

      

      //定义模板过程

      public final void display(){  //需要用final,不被子类继承,也不允许任何从此类继承的类来覆写这个方法

        open();

        for(int = i; i < 5 ; i++){

          print();

        }

        close();

      }

      

      

    }

    2.CharDisplay,StringDisplay只要继承extends父类AbstractDisplay,实现了open,print,close具体方法的类.

    3.Main程序,父类定义,子类构造,最后调用父类的模板函数

    AbstractDisplay *d1 = New CharDisplay();

    AbstractDisplay *d2 = New StringDisplay();

    d1.display();//调用模板函数

    d2.display();//调用模板函数

     //因为子类具体实现方法不同,模板函数实现也不同.

  • 相关阅读:
    [leetcode] Reverse Linked List II
    利用ServletContextListener实现定时任务
    以追加方式写入文件的几种方法
    序列化反序列化的几种方式
    最常用快捷键
    Eclipse快捷键大全
    【MongoDB for Java】Java操作MongoDB
    JQuery EasyUI window 用法
    Oracle sql 性能优化调整
    Jodd 3.3
  • 原文地址:https://www.cnblogs.com/zhongxuan/p/7457647.html
Copyright © 2011-2022 走看看