zoukankan      html  css  js  c++  java
  • 对象行为型

    介绍

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

    定义

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

    应用

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

    入门案例:

    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:
             *  我是普通人,我接受不了
    	         开始吃米田共
    	         结束吃米田共	
    	         ===================================================
    	         我是超人,我没关系
    	         开始吃米田共
    	         结束吃米田共
             */
    
        }
    }
    
    
  • 相关阅读:
    LoadRunner 接口测试 第一章
    Selenium WebDriver 自动化测试 第二章
    Selenium WebDriver 自动化测试 第一章
    Scala学习
    Mysql 远程连接
    Scala学习 -- 集合 Map
    Scala学习 -- 闭包
    Scala学习
    PHP + Redis 实现消息队列
    Scala Spark Streaming + Kafka + Zookeeper完成数据的发布和消费
  • 原文地址:https://www.cnblogs.com/tandi19960505/p/8179093.html
Copyright © 2011-2022 走看看