On décide maintenant de remplacer le constructeur de la classeB par un constructeur permettant de choisir le montant initial du compte en banque. On ajoute aussi une méthode nommée getMontant, de visibilité public, permettant de connaître la valeur de l'attribut montant d'un objet autre que celui référencé par this ; on peut constater l'utilisation qui est faite de cette méthode dans l'exemple situé un peu plus bas dans cette page. On note CompteC cette nouvelle classe. Voici le code de la classe CompteC :
package banque;
public class CompteC {
private int montant;
// Constructeur de la classe CompteC
public CompteC(int montantInitial) {
this.montant = montantInitial;
}
public void modifier(int somme) {
if (this.montant + somme > 0)
this.montant = this.montant + somme;
public int getMontant() {
return montant;
}
}
Pour instancier la classe CompteC, il faut maintenant invoquer le nouveau constructeur de cette classe, qui utilise un paramètre de type int.
On pourra construire un compte de type compteC de la façon suivante :
CompteC compte; ... compte = new CompteC(100);On construit ainsi un compte dont le montant initial vaut 100. En effet, on invoque le constructeur de la classeC avec la variable montantInitial qui prend la valeur 100. L'instruction de la classe classeC :
On définit maintenant le programme suivant, dans l'objectif de tester la classe CompteC, mais aussi de proposer un exercice.
package banque; public class EssaiCompteC { public static void main(String[] arg) { CompteC unCompte = new CompteC(10); CompteC autreCompte; autreCompte = unCompte; unCompte.modifier(5); System.out.println("Montant de unCompte : " + unCompte.getMontant()); System.out.println("Montant de autreCompte : " + autreCompte.getMontant()); } }L'exercice consiste à lire ce code et à déterminer la sortie du programme à l'exécution ; en particulier, il faut réfléchir pour savoir si, après les quelques opérations, le compte autreCompte a par montant 10 ou 15.