設計模式(一)——template method模式

開始寫設計模式,不想要很大的篇幅去描述概念的東西。簡而言之並通俗易懂,這就是最大的收穫。

核心

父類實現抽象函數之間的調用邏輯。子類實現抽象函數的實現細節。

實現


abstract class father{
    public abstract void function1();
    public abstract void function2();
    public void funtionVV(){
        function1();
        function2();
    }
}
class sonA extends father{
    public void function1(){
        //具體實現
		System.out.println("sonA ---1");
    }
    public void function2(){
        //具體實現
		System.out.println("sonA---2");
    }
}
class sonB extends father{
    public void function1(){
        //具體實現
		System.out.println("sonB---1");
    }
	public void function2(){
        //具體實現
		System.out.println("sonB---2");
    }
}
public class Main {
    public static void main(String[] args) {
        father obj = new sonB();
        obj.funtionVV();
        return;
        
    }
}

輸出:

sonB---1
sonB---2

作用

函數之間的調用關係有統一的邏輯實現,在統一的父類中實現。

優點

  • 節省代碼:在父類的一個非抽象函數內封裝了內部調用邏輯,子類中有相同的邏輯時,不需要在子類中重新複寫。
  • 便於代碼維護。

缺點

  • 父類與子類的邏輯關係有緊密耦合。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章