private static double champMIN=0.0, champMAX=100.0; void setChamp(double champ) { if (champ < champMIN) this.champ = champMIN; else if (champ > champMAX) this.champ = champMAX; else this.champ = champ; }
Comme autre exemple, il y a des situations où le nombre de fois qu'un champ est modifié doit être limité (par exemple, la zone d'un lecteur de DVD peut être changée au plus 5 fois) : un champ supplémentaire, évidemment privé, et initialisé implicitement à 0, permet de contrôler le nombre de modifications.
private static final int N = 5; private int champModifié; void setChamp(int champ) { if (champModifié<N) this.champ = champ; champModifié++; }
Tous ces exemples constituent des patterns, c'est-à-dire des solutions typiques à des problèmes qui se rencontrent fréquemment, et qui peuvent être adaptées à chaque problème.