1.抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。
2.解决的问题:
当功能内部一部分实现是确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现,就是一种模板模式。
package com.atguigu.java; //模板方法设计模式 public class TestTemplate { public static void main(String[] args) { new SubTemplate().spendTime(); } } abstract class Template{ public abstract void code(); public void spendTime(){ long start = System.currentTimeMillis(); code(); long end = System.currentTimeMillis(); System.out.println("花费时间为:" + (end - start)); } } class SubTemplate extends Template{ public void code() { boolean flag = false; for (int i = 2; i <= 100000; i++) { for (int j = 2; j <= Math.sqrt(i); j++) {// 开方 if (i % j == 0) { flag = true; break; } } if (!flag) { System.out.println(i); } flag = true; } } }
相关推荐
Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现
Java模板方法设计模式[定义].pdf
设计模式之模板方法模式,这份文档以例子的形式介绍了模板方法模式
第05章 面向对象(下) 10 抽象类应用之模板方法设计模式
设计模式--模板方法模式java例子
设计模式的模板方法模式的例子,希望对大家有用~~~~~~~~
介绍模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某
模板方法设计模式,内含代码和注释还有模板方法的设计原理
适合20分钟左右讲解的模板方法模式。 自己上课用的。
设计模式模板方法模式PPT学习教案.pptx
设计模式-模板方法模式(讲解及其实现代码)
设计模式C++学习之模板方法模式(Template Method)
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式...这种类型的设计模式属于行为型模式。 模板方法模式 java demo
本文实例讲述了PHP设计模式之模板方法模式。分享给大家供大家参考,具体如下: 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板...
设计模式之模板方法模式Java实现和UML类设计图
将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载。
Java设计模式之模板方法模式.rarJava设计模式之模板方法模式.rar
模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。