当前位置: 首页 > news >正文

JAVA 的模板方法模式解析

模板方法是什么?

  • 模板方法模式(Template Method Pattern)是一种行为型设计模式。相当于父类定流程,子类补细节。也就是说,父类定义好“做事的流程”(算法骨架),具体每一步怎么做由子类决定。

生活举例

  • 例如你去吃“套餐”:早餐套餐 = 主食 + 饮料,但主食和饮料的内容可以换(包子+豆浆、面包+咖啡)。
  • 这就像模板方法模式:套餐的流程是固定的(父类模板方法)-> 准备主食() + 准备饮料()。然而每家早餐店可以决定细节(子类具体实现),包子店:准备包子 + 豆浆西式店:准备面包 + 咖啡

代码举例

// 抽象父类:定义流程
abstract class Breakfast {// 模板方法:定义算法骨架public final void makeBreakfast() {prepareMain();prepareDrink();System.out.println("早餐准备好了!\n");}// 留给子类实现的步骤protected abstract void prepareMain();protected abstract void prepareDrink();
}// 子类1:包子豆浆店
class ChineseBreakfast extends Breakfast {protected void prepareMain() {System.out.println("准备包子");}protected void prepareDrink() {System.out.println("准备豆浆");}
}// 子类2:西式早餐店
class WesternBreakfast extends Breakfast {protected void prepareMain() {System.out.println("准备面包");}protected void prepareDrink() {System.out.println("准备咖啡");}
}// 测试
public class Main {public static void main(String[] args) {Breakfast chinese = new ChineseBreakfast();Breakfast western = new WesternBreakfast();chinese.makeBreakfast();western.makeBreakfast();}
}

输出结果

准备包子
准备豆浆
早餐准备好了!准备面包
准备咖啡
早餐准备好了!

总结

  • 模板方法模式就是 固定流程 + 灵活步骤。父类规定“框架怎么走”,子类决定“细节怎么做”
http://www.hskmm.com/?act=detail&tid=28158

相关文章:

  • 《构建之法-现代软件工程》 -阅读和提问作业1
  • 计算机视觉与AI在人体成分分析中的技术突破
  • 2024-网鼎杯web-PyBlockly
  • 关于微信小程序申请地理位置接口申请
  • c++学习总结
  • 2025 年大闸蟹蟹卡 / 大闸蟹礼盒 / 大闸蟹礼券 / 好蟹汇大闸蟹选择指南:生态养殖与全国服务双保障解析
  • 分享一个超级耐玩的游戏 转载 植物大战僵尸融合版最新版(v3.0.1)支持安卓版+PC电脑版
  • 【Go 语言神器】iota 到底是什么?为什么高手都爱用它?
  • 2025 年模具生产厂家最新推荐榜单:聚焦优质源头企业,助力工程采购精准选型框格梁模具/框格梁模板/混泥土模具厂家推荐
  • 2025 年最新推荐仿石漆厂家实力厂家口碑排行榜:精选优质环保外墙内墙涂料企业权威揭晓
  • oracle查询存储过程和函数中是否包含某个字符串
  • Qoder 负责人揭秘:Qoder 产品背后的思考与未来发展
  • 2025 年半导体晶片生产厂家最新推荐榜单:专利技术与规模化供货能力双维度深度解析
  • 2025 年水产养殖降氨氮亚盐厂家最新推荐排行榜 ,助力北方对虾鱼塘螃蟹池塘养殖户轻松选购优质产品
  • CS:APP学习笔记之程序的机器级表示(三) - Invinc
  • EHOME视频平台EasyCVR构建全协议、全场景融合的视频监控中枢
  • GA/T 1400视图库平台EasyCVR平台GB28181与1400级联方式全解析
  • 2025 年玻璃钢水箱生产厂家最新推荐榜单:含 30 吨 / 订做 / 消防 / 方形 / 拼装式 / 屋顶 / 大型产品,从产能与服务双维度精选优质企业
  • linux 修改本地时区
  • crontab 定时执行python脚本失败,但手动执行却成功问题处理 - hello-*
  • 2025 年不锈钢水箱厂家最新推荐榜:优质厂家实力对比与选购指南,助您选到适配设备矩形/屋顶/定做方形不锈钢水箱厂家推荐
  • 实用指南:Java 后端面试技术文档(参考)
  • 2025 年钢结构厂家最新推荐榜:优质企业全面解析,助力客户精准选择可靠合作伙伴
  • SQL server 关于“DATEDIFF() ”日期差值计算函数的用法
  • 2025 年清洗机厂家最新推荐:高压清洗机 / 超声波清洗机 / 管道清洗机等多类型设备品牌榜单,助力企业精准选购优质产品
  • AI元人文决策范式的思维逻辑演进研究
  • 2025规划馆运营厂家 TOP 榜:苏州金梓树智能科技,专注场馆全周期服务,规划馆运维优质服务商推荐!
  • 2025 高温线缆厂家 TOP 榜:奇温线缆 (上海) 有限公司,专注特种高温领域,定制化高温线缆源头厂家推荐!
  • 2025 年最新推荐 RTO 蓄热炉厂商榜单:聚焦高浓度 VOCs 处理设备,权威解读行业标杆企业优势有机废气处理/RTO 蓄热炉/RTO蓄热炉专业废气处理设备厂商推荐
  • 时变和时不变(LTI)的区别