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

设计模式入门:最简单的模板方法模式

目录

  • 使用场景
  • 案例--写作文
  • 建议模版方法用final修饰

使用场景

提供一个模版方法每个人拿到这个模版 在二次做自己的个性化开发
如下图的write方法只有正文部分是不一样的 就可以把它抽离成一个模板方法提高代码复用
并把正文部分写成抽象方法 让子类去个性化实现正文部分

大致实现步骤

案例–写作文

先写抽象类 把整个作文模版定义成一个模版方法:write()
在模版方法write()里先写好不变的开头和结尾 然后提供一个抽象方法writeMain()用来给子类写正文部分 并在模版方法write()里直接调用抽象方法writeMain()
让子类继承抽象类 个性化实现抽象方法writeMain()
子类对象需要写作文的时候直接调用模板方法write()即可

抽象类(父类) write()就是一个模板方法:

两个子类:

测试类(子类对象调用父类中的模板方法 来写作文):
s调用write() write()里又调用writeMain() 也可以看成是就近原则(优先调用子类s重写过的writeMain)

建议模版方法用final修饰

模版方法最好用final修饰(他是给子类用的 不是给子类重写的)
比如上面学生抽象类里的模版方法write()
他是给子类(小学生 中学生) 作为一个作文模版直接去用的 不是给子类重写的(如果模板可以被随意重写 那他就不是一个模板了)
子类要重写的是个性化writeMain()方法

http://www.jsqmd.com/news/545391/

相关文章:

  • T113 7寸 RGB 电容触摸屏设备树配置与调试实战
  • 从“雪山救狐狸”到“酱板鸭复仇”: AI时代的全民创作狂欢与营销革命
  • 别再为YOLO训练数据少发愁了!手把手教你用Python+OpenCV 4.1.2.30实现6种数据增强(附完整代码)
  • PVE网络优化实战:如何用Host-Only网络提升内网传输速度(附完整配置流程)
  • OLED滚动显示长字符技巧:STM32驱动0.96寸屏实现诗词滑动效果
  • 网页上的猫猫,L2Dwidget看板娘
  • OpenRocket:开源火箭仿真软件的技术架构与工程应用价值
  • RWKV7-1.5B-g1a提示词工程指南:4类高价值测试prompt设计与优化
  • Pixel Fashion Atelier保姆级教程:Mac M系列芯片用户通过ROCm兼容方案部署
  • SAP银行账户管理入门:从零配置House Bank到实战业务场景
  • 基于vue+springboot框架扶贫助农产品商城系统设计与实现
  • Hunyuan-MT-7B媒体应用:新闻稿多语同步发布系统技术实现路径
  • RCWA光学仿真:从原理到实践的系统化学习指南
  • OpenClaw性能优化:提升GLM-4.7-Flash任务执行速度
  • 2026年4月广东GEO优化推广运营服务商推荐:AI获客与搜索GEO推广,全链路智能增长解决方案与实战效果保障之选 - 品牌企业推荐师(官方)
  • Windows Terminal效率革命:4个场景化应用技巧让开发效率提升50%
  • VScode+AutoDL远程开发避坑指南:从SSH配置到环境调试全流程
  • 终极NES模拟器FCEUX安装配置指南:3分钟快速上手经典游戏
  • 红果短剧模式系统开发:高转化付费逻辑 + 多广告联盟接入方案
  • 手把手教你使用剪映电脑版快速上手制作MP4视频
  • 2026旅行社定制旅游服务口碑推荐,哪家更值得选择? - 品牌排行榜
  • 别再用‘git reset’硬搞了!用SourceTree的‘强行合并’安全回滚代码(附实战避坑)
  • pta一连串字符例如身份证号输出有CTX COT乱码
  • 破解Calibre中文路径三大难题:让电子书管理回归本源
  • 基于PFC5.0代码的可破碎cluster与ball颗粒模拟碎石、矿渣混凝土材料单轴压缩实验研...
  • 【漫画阅读器】漫蛙2正版下载全攻略:manwa漫蛙2使用教程 - xiema
  • 如何3步掌握阴阳师百鬼夜行自动化脚本的核心功能
  • python-flask-djangol框架的关爱空巢老人和孩子留守儿童管理系统的设计和实现
  • 【开题答辩全过程】以 基于SSM的游戏商城系统为例,包含答辩的问题和答案
  • PTA编程题实战:如何用C语言高效判断素数(含常见错误分析)