• 对象行为型


    介绍

    * 模板顾名思义就是一个有固定格式的样板
    * 例如日常遇到的填写某些表单,表单里面是有规定需要填什么的,这就是固定的东西,而只有你自己填写的内容信息是动态的可变的
    

    定义

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

    应用

    * 有固定的步骤,也有可变的步骤
    

    入门案例:

    UML图解:

    代码:

    [AbstractTemplate]

    AbstractTemplate:

    public abstract class AbstractTemplate {
    
        //抽象方法:可变部分
        public abstract void say();
    
        //模板方法:不可变部分
        final public void templateMethod(){
            say();
            System.out.println("开始吃米田共");
            System.out.println("结束吃米田共");
        }
    
    }
    

    测试:

    public class Main {
        public static void main(String[] args){
    
            new AbstractTemplate() {
                @Override
                public void say() {
                    System.out.println("我是普通人,我接受不了");
                }
            }.templateMethod();
    
            System.out.println("===================================================");
    
            new AbstractTemplate() {
                @Override
                public void say() {
                    System.out.println("我是超人,我没关系");
                }
            }.templateMethod();
    
            /**
             * output:
             *  我是普通人,我接受不了
    	         开始吃米田共
    	         结束吃米田共	
    	         ===================================================
    	         我是超人,我没关系
    	         开始吃米田共
    	         结束吃米田共
             */
    
        }
    }
    
    
  • 相关阅读:
    Maven下载依赖项的源代码(source code)和Javadoc
    Spring读写xml文件
    重建二叉树
    从尾到头打印链表
    替换空格
    洞穴逃生
    二维数组中的查找
    分苹果
    最小生成树算法prim and kruskal
    HTTP报文格式详解
  • 原文地址:https://www.cnblogs.com/tandi19960505/p/8179093.html
Copyright © 2020-2023  润新知