模板模式(templete)

模板模式(templete)模板模式 templete 模板模式定义举例代码模板模式定义模板模式就是通过抽象类来定义一个逻辑模板 逻辑框架 逻辑原型 然后将无法决定的部分抽象成抽象类交由子类来实现 一般这些抽象类的调用逻辑还是在抽象类中完成的举例本猿的女盆友是一个高中老师 以她上一节课的周期举例 她要线预习大纲 梳理讲课流程 做教案准备例题 开始上课 讲完一阶段给学生答疑 布置作业 批改作业 由于要根据讲课的

模板模式(templete)

模板模式定义

模板模式就是通过抽象类来定义一个逻辑模板,逻辑框架、逻辑原型, 然后将无法决定的部分抽象成抽象类交由子类来实现,一般这些抽象类的调用逻辑还是在抽象类中完成的

举例

代码

 / * 模板模式就是: ,模板模式就是通过抽象类来定义一个逻辑模板,逻辑框架、逻辑原型, * 然后将无法决定的部分抽象成抽象类交由子类来实现,一般这些抽象类的调用逻辑还是在抽象类中完成的 。 * */ //逻辑模板 public abstract class TeacherCourse { //因为逻辑流程已经定下,所以不能 被子类重写,所以要用final修饰 public final void createCourse() { //预习大纲 this.prepareSllabus(); //授课思路梳理 this.thinking(); //准备例题 this.demo() ; //给学生讲课 this.teach(); //给学生答疑 this.answer(); //留作业不是一个必然的过程,若果课程全部讲完,需要留作业,但是没有讲完就不需要留作业, //所以要设置一个钩子方法,以方便与子类去微调 if(this.hasHomework()) { //给学生留作业 this.homework(); //批改作业 this.correct(); } System.out.println(" 一个课程的生命周期完成 "); } final void homework() { System.out.println("给学生留课后作业"); } final void correct() { System.out.println("给学生批改作业"); } protected boolean hasHomework() { return false; } final void answer() { System.out.println("给学生答疑"); } final void teach() { System.out.println("给学生上课"); } final void demo() { System.out.println("准备例题"); } final void thinking() { System.out.println("授课思路梳理"); } final void prepareSllabus(){ System.out.println("预习大纲"); } } 

//上个不留作业的课程

//上第一节课 集合 public class ListCourse extends TeacherCourse { private boolean homework = false; public ListCourse(boolean homework) { this.homework = homework; } @Override protected boolean hasHomework() { return this.homework; } } 

//测试

public class TemplateTest { public static void main(String[] args) { TeacherCourse course = new ListCourse(true); course.createCourse(); } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220059.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:20
下一篇 2026年3月17日 下午9:21


相关推荐

  • jboss 配置文件_黑果小兵安装教程

    jboss 配置文件_黑果小兵安装教程一、Jboss下载:  1、点击 http://jbossas.jboss.org/downloads/找到合适的版本下载;  我这里是用的Jboss-as-7.1.1.Final版本,算是比较新的一个版本。    二、Jboss安装:  1、首先将下好的Jboss解压到自己想要存放的位置;  2、配置环境变量(非必要步骤),建议还是将环境变量配好,便于dos中命令操作;   …

    2026年4月15日
    5
  • js 删除数组指定元素的方法

    js 删除数组指定元素的方法首先需要找到元素的下标 vararr 2 5 9 varindex arr indexOf 5 使用 splice 函数进行移除 if index gt 1 arr splice index 1 splice 函数的第二个参数指删除的数目 splice 直接修改原数组 并把删除的所有元素以另一个新数组的方式返回 nbsp

    2025年10月16日
    3
  • java中文乱码_Java中文乱码问题的解决方案[通俗易懂]

    java中文乱码_Java中文乱码问题的解决方案[通俗易懂]只要掌握了中文乱码问题产生的原因,然后对症下药,就可以顺利地解决这些问题。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。1.以POST方法提交的表单数据中有中文字符由于Web容器默认的编码方式是ISO-8859-1,在Servlet/JSP程序中,通过请求对象的getParameter()方法得到的字符串是以ISO-8859-1转换而来,这是导致乱码产生的原因之一。为了避免容器以ISO…

    2022年7月8日
    27
  • JAVA中ResourceBundle使用详解(一)

    JAVA中ResourceBundle使用详解(一)最近在看 HttpServlet 源码时候 碰到 ResourceBund 的使用 就此记录一下 一 ResourceBund 是啥这个类主要用来解决国际化和本地化问题 国际化和本地化是啥 另一篇文章有写 这里直接上用法 这个类获取的属性也是来自于 properties 属性文件 获取 properties 属性有两个方式 一是通过 Properties 二是通过 ResourceBund 方式 Pr

    2026年3月26日
    1
  • 视图索引问题

    视图索引问题  最近和一直在研究如何加快查询数据库的速度,看了网络上说用索引,会加快查询的速度.我就认真看了索引了一些文章,也建立了表索引.但是在建立视图索引的时候遇到问题了, 无法在视图 SBK_VIEW 上创建 索引,因为该视图未绑定到架购.查一下相关的资料,发现:定义索引视图的  SELECT  语句不得包含视图、行集函数、行内函数或派生表。同一物理表在该语句中只能出现一次

    2022年7月22日
    18
  • ant 下载地址[通俗易懂]

    ant 下载地址[通俗易懂]https://archive.apache.org/dist/ant/binaries/

    2022年7月13日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号