Définition du modèle de modèle: définit le squelette d'un algorithme dans une opération, retardant l'exécution de certaines étapes vers sa sous-classe.
En fait, les classes abstraites Java sont à l'origine des modèles de modèle, ils sont donc très courants à utiliser. Et c'est facile à comprendre et à utiliser, commençons par un exemple:
La copie de code est la suivante:
Benchmark de classe abstrait public
{
/ **
* L'opération suivante est ce que nous voulons compléter dans la sous-classe * /
Public Résumé Vide Benchmark ();
/ **
* Nombre d'exécution de référence répétée * /
Public Final Long Repeat (int count) {
if (compter <= 0)
retour 0;
autre {
Long startTime = System.CurrentTimemillis ();
pour (int i = 0; i <count; i ++)
Benchmark ();
long stoptime = System.currenttimemillis ();
RETOUR STOPTime - STARTtime;
}
}
}
Dans l'exemple ci-dessus, nous voulons effectuer une opération de référence () à plusieurs reprises, mais nous ne spécifions pas le contenu spécifique de Benchmark (), mais le retardons à sa description de la sous-classe:
La copie de code est la suivante:
Méthode de classe publique Benchmark étend Benchmark
{
/ **
* Définir vraiment le contenu de référence * /
benchmark public public () {
for (int i = 0; i <Integer.max_value; i ++) {
System.out.printtln ("i =" + i);
}
}
}
À ce stade, le mode modèle a été terminé, n'est-ce pas très simple? Voir comment utiliser:
La copie de code est la suivante:
Benchmark Operation = new MethodBenchMark ();
longue durée = opération.repeat (Integer.ParseInt (args [0] .trim ()));
System.out.println ("l'opération a pris" + durée + "Millionscondes");
Peut-être que vous vous demandiez à quoi sert les cours abstraits, mais maintenant vous devriez le comprendre complètement, non? Quant aux avantages de le faire, il est évident qu'il est très extensible.