zoukankan      html  css  js  c++  java
  • 《大话设计模式》——模版方法模式

    概述:

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

    角色:

      1、层次类:这是一个抽象类,定义了程序的骨架,抽象细节。

      2、细节类:继承抽象类,对细节进行描述,完善程序,扩展父类功能。

    具体代码:

    层次类:

    public abstract class Test{
        public void body(){
            head();
            System.out.println("这是程序骨架");
            details();
        }
    
        abstract void head()//细节一
    
        abstract void details()//细节二
    }

    细节类:

    public class TestA extend Test{
        @override
        void head(){
            System.out.println("这是细节一");
        }
    
        @override
        void details(){
            System.out.println("这是细节二");
        }
    }

    客户端:

        public static void main(String[] args) {
            Test t = new TestA();
            t.body();
        }

    输出:

      这是细节一
      这是body
      这是细节二

    优点:
    1、重复代码移到父类,去除了子类代码的重复性。

    2、通过子类扩展父类,体现了开放-封闭原则。

  • 相关阅读:
    [FJOI 2016] 神秘数
    [SHOI 2017] 寿司餐厅
    [HAOI 2012] Road
    [HAOI 2012] 容易题
    [TJOI 2018] XOR
    [NOI 2011] 阿狸的打字机
    [ZJOI 2010] 排列计数
    [TJOI2016 & HEOI2016] 字符串
    [HNOI 2011] 数学作业
    【NTT】loj#6261. 一个人的高三楼
  • 原文地址:https://www.cnblogs.com/yxth/p/7452364.html
Copyright © 2011-2022 走看看