public class TemplateMethodDemo {

public static void main(String[] args) {
Teacher test=new Javatreacher("张三");//动态绑定
test.work();
Teacher test1=new Datatreacher("李四");
test1.work();

}

}
abstract class Teacher{
private String name;
public Teacher(String name){
this.setName(name);
}
public void prepare(){
System.out.println("准备上课");
System.out.println("打开投影仪");
}
public void end(){
System.out.println("结束上课");
System.out.println("关闭投影仪");
}
public abstract void teaching();//抽象方法,延迟到具体的子类实现
public void work(){
prepare();
teaching();
end();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

class Javatreacher extends Teacher{

public Javatreacher(String name) {
super(name);
}
public void teaching() {//重写父类里面的teaching()方法
System.out.println(getName()+"书写JAVA代码");
System.out.println("运行JAVA代码");
}

}
class Datatreacher extends Teacher{

public Datatreacher(String name) {
super(name);
}
public void teaching() {//重写父类里面的teaching()方法
System.out.println(this.getName()+"书写SQL语句");
System.out.println("运行SQL语句");
}

}

The Template method pattern的更多相关文章

  1. 设计模式(九): 从醋溜土豆丝和清炒苦瓜中来学习"模板方法模式"(Template Method Pattern)

    今天是五.四青年节,祝大家节日快乐.看着今天这标题就有食欲,夏天到了,醋溜土豆丝和清炒苦瓜适合夏天吃,好吃不上火.这两道菜大部分人都应该吃过,特别是醋溜土豆丝,作为“鲁菜”的代表作之一更是为大众所熟知 ...

  2. 深入浅出设计模式——模板方法模式(Template Method Pattern)

    模式动机 模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一.在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中.在模板方法模式 ...

  3. 设计模式 - 模板方法模式(template method pattern) JFrame 具体解释

    模板方法模式(template method pattern) JFrame 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(templ ...

  4. 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)

    原文:乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 模板方法模式(Template Method ...

  5. C#设计模式之十三模板方法模式(Template Method Pattern)【行为型】

    一.引言 “结构型”的设计模式已经写完了,从今天我们开始讲“行为型”设计模式.现在我们开始讲[行为型]设计模式的第一个模式,该模式是[模板方法],英文名称是:Template Method Patte ...

  6. 设计模式 - 模板方法模式(template method pattern) 排序(sort) 具体解释

    模板方法模式(template method pattern) 排序(sort) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(tem ...

  7. 设计模式 - 模板方法模式(template method pattern) 具体解释

    模板方法模式(template method pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 模板方法模式(template metho ...

  8. 二十四种设计模式:模板方法模式(Template Method Pattern)

    模板方法模式(Template Method Pattern) 介绍定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.Template Method使得子类可以不改变一个算法的结构即可重定义该算法 ...

  9. 瑞幸咖啡还是星巴克,一杯下午茶让我明白 设计模式--模板方法模式(Template Method Pattern)

    简介 Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template M ...

  10. 模板方法模式(Template Method Pattern)——复杂流程步骤的设计

    模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单.吃东西.买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单. 在 ...

随机推荐

  1. 315. Count of Smaller Numbers After Self

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

  2. VFP自定义函数StringFormat (仿.NET String.Format 方法)

    VFP仿.NET String.Format 方法 将指定字符串中的每个{x}替换为相应值,并返回文本 *-- 调用格式 StringFormat("日期{2},字符{1}",&q ...

  3. unity3d 射弹基础案例代码分析

    #pragma strict import UnityEngine.UI; function Start () { } var speed : int = 5; var newobject : Tra ...

  4. Calendar /String /Date 转换

    Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDate ...

  5. X-Frame-Options 响应头

    [X-Frame-Options 响应头] 参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options

  6. MonoDev 冷门而好用的功能

    [MonoDev 冷门而好用的功能] 1.Ctrl + B.跳转到对应的{}.(). 2.View -> Editor Layout -> 2 Columns.双屏工作. 3.Editr ...

  7. 关于NIO

    操作系统的IO控制 在整个IO控制方式的发展过程中,始终贯穿着这样一条宗旨:即尽量减少主机对IO控制的干预,把主机从繁杂的IO控制事务中解脱出来,以便更多地去完成数据处理任务.为了缓和高速CPU和IO ...

  8. LAMP之准备,samba搭建

    搭建lamp其实并没有多复杂,只是,最多的时间是花在下载等待和计算机编译等上面耗时,要是时间多花在这些事情上面总感觉有点亏.经过我多次实践,发现在linux下使用下载会有诸多问题,甚至不如window ...

  9. python之 list、tuple、dict、set

    2016-08-24   14:32:59 list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 例如:定义一个列表L,里面存放了一些姓氏 ...

  10. sugar 自动为DP 加cache (or打表)

    // from http://www.csdn.net/article/2015-12-03/2826381 #include <iostream> #include <tuple& ...