一、什麼是模板模式ide
摸版通俗的意思就是用於複製,在代碼的世界中就是重用。想下若是一段代碼裏面有許多公用的代碼,可是又要適用與不一樣條件。你是否是還在不停的使用IF ELSE 呢?今天的模板模式會告訴你一種全新的解決方案。測試
二、南北湯圓,吃鹹仍是甜spa
煮湯圓的大體步驟 1煮開水,2下湯圓,3放糖仍是放鹽。咱們發現前2步是共用的,南北方的小夥伴都是這樣子作的。那麼第3放糖仍是放鹽,除了if else 咱們應該怎麼處理呢?模板
二、編寫父類abstractclass
public abstract class TangYuan { private void boil(){ System.out.println("水開了"); } private void tangYuan(){ System.out.println("放湯圓"); } //控制下鹽仍是糖 public void saltOrSugar(){ System.out.println("放鹽"); } //烹飪 public void cook(){ boil(); tangYuan(); saltOrSugar(); } }
三、編寫子類放糖static
public class SugarTangYuan extends TangYuan{ @Override public void saltOrSugar(){ System.out.println("放糖"); } }
四、編寫子類放鹽解決方案
public class SaltTangYuan extends TangYuan{ @Override public void saltOrSugar(){ System.out.println("放鹽"); } }
五、編寫測試co
public class Test { public static void main(String[] args) { SaltTangYuan saltTangYuan =new SaltTangYuan(); SugarTangYuan sugarTangYuan =new SugarTangYuan(); saltTangYuan.cook(); sugarTangYuan.cook(); } }
六、執行結果background
水開了
放湯圓
放鹽
水開了
放湯圓
放糖
new
那麼2種不一樣的作法就作完了,要吃什麼味道的,就new什麼湯圓就能夠了。