0-前言
模板方法模式定义:定义一个操作中的算法骨架,而将一些步骤延迟到子类中;
模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些步骤;
1-实现
1-1、简单UML图:
1-2、代码实现
//1、抽象父类abstract class TestPhone{ public void PowerOn() { System.out.println("测试开机是否正常"); } public void PowerOff() { System.out.println("测试关机是否正常"); } public void Test() { System.out.println("开始测试手机----------"); PowerOn(); PowerOff(); }}//2-1、具体类Aclass TestPhoneA extends TestPhone{ @Override public void PowerOn() { System.out.println("空电池下测试插电线开机"); super.PowerOn(); }}//2-2、具体类Bclass TestPhoneB extends TestPhone{ @Override public void PowerOff() { System.out.println("测试直接拔电池关机"); super.PowerOff(); }}
客户端:
TestPhone testPhone; testPhone = new TestPhoneA(); testPhone.Test(); testPhone = new TestPhoneB(); testPhone.Test();
运行结果:
2-应用场景简单总结
1、一次性地实现一个算法不变的部分,而将可变的行为留个子类来实现;
2、当子类有公共行为可提取到父类中去,而子类有自己的个性化需求时;
无废话设计模式(12)行为型模式net-a-porter、 跨境电商大转折、 百佬汇第一期黄埔训练营震撼来袭、 墨西哥税改来袭,这个蓝海市场还值得做吗? 、 亚马逊关键词类目排名监控、 答疑:亚马逊翻新listing为什么老是失败?、 深厦高铁起点站离那个地铁站最近?、 深厦高铁经过哪些客运站?、 深夏高铁最便捷的搭乘方式是什么?在哪里中转方便?、
没有评论:
发表评论