Une autre version de la classe avec un constructeur.
public class Versement { double valeur ; // variable membre String monnaie ; long heureOperation = System.currentTimeMillis(); // Il y a trois zones dans le code d'un constructeur Versement(double val, String monn) { // zone 1// zone 2
this.valeur = val ;
this.monnaie = monn ; } // c'est possible : mais en général il est peu pertinent d'avoir // un code de test dans la classes elle-même public static void main(String[] args) { Versement op = new Versement(10.99, "GBP") ; } }
(sera expliqué ultérieurement -la zone 1 peut être explicite-) | |
zone 2 : des initialisations de variables membres sont exécutées (zone toujours implicite dans le code du constructeur) | |
début de zone 3 : instructions …. |
Ici la variable membre heureOperation
est initialisée chaque fois que l’on crée un nouvel objet (et ceci se produit dans cette "zone 2").
Les variables membres peuvent être:
solde
lorsqu’on crée un objet CompteBancaire
).
Ces initialisations peuvent être modifiées par des affectations explicites présentes dans le code du constructeur.
Notons également que l’initialisation par défaut à zéro peut correspondre à une volonté de laisser un membre sans valeur significative.
Si, par exemple, on ajoute un champ de type String commentaire
à la classe Versement
cette valeur par défaut (nous verrons qu’elle s’appelle en réalité null
) indique que le champ n’est pas présent -on peut ainsi avoir des membres facultatifs dans un objet-