现在我们很多家庭都有了榨汁机。榨汁的过程大体上为水果切片-->放入榨汁机-->加入调味料-->启动。可根据需要加入蜂蜜或苏打水,也可以什么调料都不加,制作纯果汁。请用模板方法模拟这个过程

AbstractClass.java

package Fruit;public abstract class AbstractClass {public void primitiveOperation1() {System.err.println("切片");}public  void primitiveOperation2() {System.err.println("放入榨汁机");}public abstract void primitiveOperation3();public  void primitiveOperation4() {System.err.println("启动");}public void templateMethod() {primitiveOperation1();primitiveOperation2();primitiveOperation3();primitiveOperation4();}
}

ConcreteClassA.java

package Fruit;public class ConcreteClassA extends AbstractClass {@Overridepublic void primitiveOperation3() {// TODO Auto-generated method stubSystem.err.println("加入蜂蜜");}}

ConcreteClassB.java

package Fruit;public class ConcreteClassB extends AbstractClass {@Overridepublic void primitiveOperation3() {// TODO Auto-generated method stubSystem.err.println("加入苏打水");}}

ConcreteClassC.java

package Fruit;public class ConcreteClassC extends AbstractClass {@Overridepublic void primitiveOperation3() {// TODO Auto-generated method stubSystem.err.println("什么都不加");}}

Client.java

package Fruit;public class Client {public static void main(String[] args) {// TODO Auto-generated method stubAbstractClass a1,a2,a3;a1=new ConcreteClassA();a1.templateMethod();System.err.println("-----------------------");a2=new ConcreteClassB();a2.templateMethod();System.err.println("-----------------------");a3=new ConcreteClassC();a3.templateMethod();  }}

运行截图:

模板方法模式---榨汁机相关推荐

  1. 设计模式之模板方法模式(Template Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  2. android 模板方法模式,安卓设计模式(七)模板方法模式

    模板方法模式用于固定相关操作的执行流程,将具体实现延迟到子类中 该系列其他文章: 定义: 定义一个操作中算法的框架,而降一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定 ...

  3. JAVA 设计模式 模板方法模式

    定义 模板方法模式 (Template Method) 定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成. 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模 ...

  4. 模板方法模式与策略模式的区别

    2019独角兽企业重金招聘Python工程师标准>>> 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义 ...

  5. 设计模式--模板方法模式

    2019独角兽企业重金招聘Python工程师标准>>> 模板方法模式(template method): 一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实 ...

  6. 设计模式----模板方法模式UML和实现代码

    2019独角兽企业重金招聘Python工程师标准>>> 一.什么是模板方法模式? 模板方法模式(Template Method) 定义一个操作中算法的骨架,而将一些步骤延迟到子类中. ...

  7. JAVA基础13-Java抽象方法、抽象类、抽象之模板方法模式

    文章目录 Java抽象方法和抽象类 抽象之模板方法模式 Java抽象方法和抽象类 抽象类: Java中可以定义没有方法体的方法,该方法由子类来具体实现.这个没有方法体的方法我们称之为抽象方法,含有抽象 ...

  8. Template Method - 模板方法模式

    1.概述 在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序.但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关. 例子1 ...

  9. Net设计模式实例之模板方法模式(Template Mothed Pattern)(1)

    一.模板方法模式简介(Brief Introduction) 模板方法模式(Template Method Pattern),定义一个操作中的算法骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不 ...

最新文章

  1. android 串口调试
  2. 读取excel文件错误
  3. 工业用微型计算机笔记(4)~编码,寄存器,引脚
  4. Python代码打印出9*9 九九乘法表
  5. 电路知识--认识原理图(三)
  6. Educational Codeforces Round 103 (Rated for Div. 2)A~E解题报告
  7. php jquery选中提交,如何使用jquery提交php发布数据
  8. 配图做设计、找图找灵感交给素材路SUCAI63
  9. Host-Only(仅主机模式)
  10. 【触动精灵将图片转成base64字符串后通过post方式上传给服务器】
  11. jszip压缩服务器文件,JSZip压缩与解压的基本使用
  12. 数字小人时钟windows电脑屏幕保护
  13. zabbix之 zabbix server 跟 agent 更换ip地址
  14. 不愧是阿里P8!java如何遍历链表
  15. 快看看用Python生成Excel炫酷图表,不然你就OUT了
  16. iOS密码管理Keychain的使用
  17. yara 模式匹配 android,YARA――恶意软件模式匹配利器
  18. el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)
  19. 判断H5页面环境在微信中还是小程序中
  20. #(四)、(五)拟合数学方法的发展简介

热门文章

  1. 一点资讯推出“长风计划”
  2. 萨提亚·纳德拉与沈向洋CVPR对谈:那些未来可期的计算机视觉研究与应用
  3. 看一遍都懂的数组遍历~确定不试试?
  4. 基于多传感器的AUV控制系统
  5. 2021年Gartner数据防泄露市场指南发布,做为中国数据安全代表性厂商天空卫士连续三年入选
  6. android7.1 rtc,RK3288 Android7.1 RTC-pcf8563调试 待机唤醒
  7. Elasticsearch 第二天
  8. 电脑开机时网络连接一直转圈,出现红叉
  9. git did not exit cleanly (exit code 128)简单处理方法
  10. ASR项目实战-交付团队的分工