1. 程式人生 > >Java 模板設計/方法模式

Java 模板設計/方法模式

模板設計模式:

就是定義一個演算法的骨架,而具體的演算法延遲到子類中來實現。


優點:
使用模板方法模式,在定義演算法骨架的同時,可以靈活的實現具體的演算法,滿足使用者靈活多變的需求


缺點:
如果演算法骨架要修改的話,則需要修改抽象類。

 

例項: 計算一個程式的執行時間。

public class test6 {
    public static void main(String[] args) {
        Demo de = new Demo();
        long result = de.getTime();
        System.out.println(result+" 毫秒");
    }
}

/**
 * 獲取程式執行時間(抽象類,具體要執行的程式讓子類來實現,父類只提供介面)
 */
abstract class GetTime{
    //獲取時間差
    public final long getTime() {
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        return end - start;
    }

    // 需要執行的程式,讓子類來具體實現。
    public abstract void code();
}

/**
 * 繼承抽象類,實現其中的方法。(實現具體 要執行的程式)
 */
class Demo extends GetTime {

    @Override
    public void code() {
        for (int i = 0; i < 1000000; i++) {
            System.out.println("123");
        }
    }
}