Sur la base de la classe CompteurNBits on peut
construire une classe CompteurHeure qui compte
entre 0 et 23 et une classe CompteurMinute qui compte
entre 0 et 60. On peut également s'apercevoir que ces deux classes sont identiques
à la valeur limite près. Si on abstrait ces deux compteurs, on obtient une classe
CompteurModulo qui compte entre 0 et une valeur
initialisée à la construction.
L'abstraction permet alors d'avoir une classe au lieu de deux. Cependant, on perd en précision, en effet,
la classe CompteurModulo ne fait pas apparaître que l'on parle d'heure ou de
minute. Il s'agit de trouver un compromis entre le niveau d'abstraction et la lisibilité du code.