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

《大话设计模式》——模版方法模式

时间:2017-08-30 13:22:36      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:color   功能   开放   结构   延迟   detail   概述   角色   abs   

概述:

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

角色:

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

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

具体代码:

层次类:

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

    abstract void head()//细节一

    abstract void details()//细节二
}

细节类:

public abstract class 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、通过子类扩展父类,体现了开放-封闭原则。

《大话设计模式》——模版方法模式

标签:color   功能   开放   结构   延迟   detail   概述   角色   abs   

原文地址:http://www.cnblogs.com/yxth/p/7452364.html

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