"Valeurs" (Value Objects)

images/whitebelt.png

On doit pouvoir créer des objets immuables que l’on ne peut pas modifier une fois créés.

Une classe pour des objets "valeur". 

public class Versement {
   final double montant ;
   final String monnaie ;
   final long heureOperation = System.currentTimeMillis();

   Versement(double val, String monn) {
      this.montant = val ;
      this.monnaie = monn ;
   }
}

Remarquons qu’ici on ne peut pas avoir d’initialisation implicite: tous les membres marqués final doivent être explicitement initialisés.

Donc:

public class TestVersement {
    public static void main(String[] args) {
        Versement op = new Versement(10.99, "GBP");
        op.montant= 10. ; /* _compiler_error_ */
    }
}

Ces objets "valeur" sont extrêmement importants:

--exercices--