Bonjour
Par curiosité, histoire de me conforter ce que j'appelle "bonne solution est préférable à mauvaise solution? (Peut-être une question "bête") mais j'aimerais avoir l'explication "informatique" . Dans le premier cas on alloue de l'espace pour deux variables que l'on garde jusqu'à la fin du traitement, dans le second, on alloue et détruit l'allocation d'espace à chaque début/fin de méthode? Ou bien les deux méthodes sont équivalentes?
Si l'on ajoute une variable du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public void methode1(){ /** Mauvaise solution **/ double i,j; Pour Animal de anmiaux methode2(animal,i,j) Fin Pour { traitement } /** Bonne solution **/ Pour Animal de anmiaux methode2(animal) Fin Pour { traitement } } public void methode2(Animal animal){ /** Mauvaise solution **/ i = this.tester(); j = this.tester(); animal.setValeur(i-j) /** Bonne solution **/ double i = this.tester(); double j = this.tester(); animal.setValeur(i-j) }
dans la méthode 1
X x = new X()
et que dans méthode 2 on exécute x.y() alors on travaille toujours sur le même objet.
Si l'on place X x = new X() dans la méthode 2 alors on crée un objet différent pour chaque appel à la méthode. Vrai ?
Merci beaucoup pour vos éclaircissements !
Partager