码迷,mamicode.com
首页 > 其他好文 > 详细

对象行为型 - 模版方法模式

时间:2018-01-02 23:32:24      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:div   template   不可变   uml图   png   eth   特定   gpo   image   

介绍

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

定义

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

应用

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

入门案例:

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:
         *  我是普通人,我接受不了
             开始吃米田共
             结束吃米田共 
             ===================================================
             我是超人,我没关系
             开始吃米田共
             结束吃米田共
         */

    }
}

对象行为型 - 模版方法模式

标签:div   template   不可变   uml图   png   eth   特定   gpo   image   

原文地址:https://www.cnblogs.com/tandi19960505/p/8179093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!