黑馬程序員——模板設計模式

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO開發S</a>、<a href="http://edu.csdn.net"target="blank">.Net培訓</a>、期待與您交流! ----------------------

3.13 模板方法模式

     1、原理:在定義功能時,功能的一部分是確定的,但是有一部分是不確定,而確定的部分在使用不確定部分,那麼這時就將不確定的部分暴露出去,由該類子類去完成。  
     2、例題:

     (1) 需求:獲取某一段程序運行的時間。
     (2)原理:獲取程序開始和結束的時間並相減即可。      

     (3)、代碼示例:

abstract class GetTime{//確定的代碼依然放在這個函數中,只有不確定的runCode被覆寫
public final void getTime(){//利用final防止複寫getTime方法
long start = System.currentTimeMillis();//獲取當前時間
runCode();
long end = System.currentTimeMillis();
System.out.println("毫秒"+(end-start));
}
public abstract void runCode();//方法體不確定,所以抽象
}
class SubTime extends GetTime{
@Override
public void runCode() {//由於for循環代碼在本例中i的值不確定,所以將其複寫
for (int i = 0; i < 1000; i++) {
System.out.println(i);
}
}
}
public class TemplateMethodPattern {
public static void main(String[] args) {
SubTime gt = new SubTime();
gt.getTime();
//System.out.println("毫秒"+gt);
}
}

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS開發</a>、<a href="http://edu.csdn.net"target="blank">.Net培訓</a>、期待與您交流! ---------------------- 

詳細請查看:<ahref="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

 

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