【java学习—九】模板方法(TemplateMethod)设计模式(4)

编程入门 行业动态 更新时间:2024-10-21 14:41:18

【java学习—九】<a href=https://www.elefans.com/category/jswz/34/1770549.html style=模板方法(TemplateMethod)设计模式(4)"/>

【java学习—九】模板方法(TemplateMethod)设计模式(4)

文章目录

  • 1. 在java中什么是模板
  • 2. 模板方法设计解决了什么问题?
  • 3. 代码化理解


1. 在java中什么是模板

    抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。

抽象类就像一个大纲,里面的抽象方法就是每个章节的标题;子类去根据这些标题把每个章节的内容写出来

2. 模板方法设计解决了什么问题?

    当功能内部一部分实现是确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
    编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现(就是一种模板模式)。

3. 代码化理解

package day09;
/*** 模板设计模式* @author 14532**/
public abstract class Template {public abstract void code();//code()的实现是不确定的public final void getTime() {long start = System.currentTimeMillis();code();//把code()方法留给其子类实现long end = System.currentTimeMillis();System.out.println("code方法执行的时间:" + (end - start));}
}class TestTmp extends Template{@Overridepublic void code() {//把不确定code()的部分暴露出去,让子类TestTmp去实现。int k =0;for(int i = 0; i < 5000; i++) {k += 1;}System.out.println(k);}
}

Test.java:

package day09;public class Test {public static void main(String[] args) {TestTmp t = new TestTmp();t.getTime();}
}

运行结果:

更多推荐

【java学习—九】模板方法(TemplateMethod)设计模式(4)

本文发布于:2023-12-03 08:27:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1653211.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模板   模式   方法   java   TemplateMethod

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!