คำจำกัดความรูปแบบเทมเพลต: กำหนดโครงกระดูกของอัลกอริทึมในการดำเนินการล่าช้าการดำเนินการบางขั้นตอนไปยังคลาสย่อย
ในความเป็นจริงคลาสนามธรรม Java เป็นรูปแบบเทมเพลตเดิมดังนั้นจึงเป็นเรื่องธรรมดามากที่จะใช้ และมันง่ายที่จะเข้าใจและใช้งานเริ่มต้นด้วยตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
เกณฑ์มาตรฐานระดับนามธรรม
-
-
* การดำเนินการต่อไปนี้คือสิ่งที่เราต้องการทำให้เสร็จในคลาสย่อย*/
เกณฑ์มาตรฐานนามธรรมสาธารณะ ();
-
* จำนวนการดำเนินการมาตรฐานซ้ำ*//
การทำซ้ำครั้งสุดท้ายครั้งสุดท้าย (จำนวน int) {
ถ้า (นับ <= 0)
กลับ 0;
อื่น {
Long StartTime = System.currentTimeMillis ();
สำหรับ (int i = 0; i <count; i ++)
เกณฑ์มาตรฐาน ();
Long StopTime = System.currentTimeMillis ();
return stoptime - starttime;
-
-
-
ในตัวอย่างข้างต้นเราต้องการดำเนินการ Benchmark () ซ้ำ ๆ ซ้ำ ๆ แต่เราไม่ได้ระบุเนื้อหาเฉพาะของ Benchmark () แต่ล่าช้าไปยังคำอธิบายย่อยของคลาส:
การคัดลอกรหัสมีดังนี้:
MethodBenchmark ระดับสาธารณะขยายมาตรฐาน
-
-
* กำหนดเนื้อหามาตรฐานจริงๆ*/
มาตรฐานโมฆะสาธารณะ () {
สำหรับ (int i = 0; i <integer.max_value; i ++) {
System.out.printtln ("i ="+i);
-
-
-
ณ จุดนี้โหมดเทมเพลตเสร็จสมบูรณ์แล้วมันไม่ง่ายมากเหรอ? ดูวิธีการใช้:
การคัดลอกรหัสมีดังนี้:
การดำเนินการเบนช์มาร์ก = New MethodBenchmark ();
ระยะเวลานาน = การทำงานซ้ำ (integer.parseint (args [0] .trim ()));
System.out.println ("การดำเนินการใช้เวลา" + ระยะเวลา + "ล้านวินาที");
บางทีคุณอาจสงสัยว่าการใช้คลาสนามธรรมคืออะไร แต่ตอนนี้คุณควรเข้าใจอย่างสมบูรณ์ใช่ไหม? สำหรับประโยชน์ของการทำสิ่งนี้เป็นที่ชัดเจนว่ามันขยายได้สูง