java设计模式----模板方法模式
2023-09-27 14:23:13 时间
模板方法比较好理解,就是为了避免代码冗余,实现代码复用的功能。比如说最常见的泡茶和泡咖啡,两个之间有很多共同点,都需要烧水,都需要把水倒入杯中,那么这些重复的方法可以抽离出来,放在父类当中,至于两者之间不同的方法,写一个抽象类,让不同的子类去重写父类即可。
代码
模板类
package template; public abstract class Template { public void prepare(){ boilWater(); brew(); pourCup(); } // 烧水 public void boilWater() { System.out.println("把水烧开"); } public abstract void brew();
// 倒入杯子中 public void pourCup() { System.out.println("倒入杯中"); } }
泡咖啡
package template; public class GetCoffee extends Template { @Override public void brew() { System.out.println("泡咖啡"); } }
泡茶
package template; public class GetTea extends Template { @Override public void brew() { System.out.println("泡茶"); } }
测试类
package template; public class Test { public static void main(String[] args) { //泡茶 GetTea tea = new GetTea(); tea.prepare(); //泡咖啡 GetCoffee coffee=new GetCoffee(); coffee.prepare(); } }
结果
把水烧开 泡茶 倒入杯中 把水烧开 泡咖啡 倒入杯中
相关文章
- java面试②基础部分
- C++的模板(和java的泛型一样)
- Java根据Freemarker模板生成Word文件
- java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException解决办法
- Java后台埋点统计
- 披荆斩棘成功上岸MT、ZJ、HW,分享 Java 面经及答案
- [转]Java动态代理
- 第42节:Java知识点回顾复习
- Java泛型基础知识笔记:泛型定义模板的意义、泛型的擦拭法、extends和super通配符区别、PESC原则
- Java使用RabbitMQ之消息确认(confirm模板)
- 【蓝桥杯Java组】送你一个不会出错的二分搜索模板
- Java 语言中 equals 和 == 的区别
- 华为OD机试 - 航天器(Java) | 机试题+算法思路+考点+代码解析 【2023】
- JAVA递归、非递归遍历二叉树(转)
- 【JAVA生成PDF】利用模板生成PDF
- C++ and Java template class and function 模板类和模板函数
- Java案例 | 学籍管理系统(超详解 )
- Java新手入门200例126之用单向链表实现栈
- Java idea 创建User.xml,需要新增一个mybatis-mapper.xml模板
- Java idea 创建SqlMapConfig.xml,需要新增一个mybatis-cfg.xml模板
- Java SpringBoot Beetl模板