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.