Определение шаблона шаблона: определяет скелет алгоритма в операции, задерживая выполнение некоторых шагов на его подкласс.
Фактически, классы абстракции Java изначально являются шаблонами шаблонов, поэтому они очень распространены. И это легко понять и использовать, давайте начнем с примера:
Кода -копия выглядит следующим образом:
Общедоступный эталон класса класса
{
/**
* Следующая операция - это то, что мы хотим завершить в подклассе*/
Public Abstract void Benchmark ();
/**
* Количество повторного эталона выполнения*/
public final long repeat (int count) {
if (count <= 0)
возврат 0;
еще {
long starttime = System.currentTimeMillis ();
для (int i = 0; i <count; i ++)
Bendmark ();
long stoptime = system.currenttimemillis ();
Возврат остановки - StartTime;
}
}
}
В приведенном выше примере мы хотим многократно выполнять операцию Bentermark (), но мы не указываем конкретное содержание Bendmark (), но задерживайте ее до описания подкласса:
Кода -копия выглядит следующим образом:
Public Class MethodBenchmark расширяет эталон
{
/**
* Действительно определяйте контрольный контент*/
public void bender () {
for (int i = 0; i <integer.max_value; i ++) {
System.out.printtln ("i ="+i);
}
}
}
На этом этапе режим шаблона был завершен, разве это не очень просто? Посмотрите, как использовать:
Кода -копия выглядит следующим образом:
Bendal Operation = New MethodBenchmark ();
длительный срок = операция.
System.out.println («Операция взяла» + продолжительность + «миллионы секунд»);
Может быть, вам было интересно, что такое использование абстрактных классов, но теперь вы должны понять это полностью, верно? Что касается преимуществ от этого, очевидно, что это очень расширяется.