Bonjour à tous,
J'ai débuté depuis quelques jours Java, je suis le livre de C. Delannoy "Programmer en Java", 2nde édition.
J'en suis au chapitre 6, sur la notion de clone, permettant de copie la référence d'un objet et non de pointer l'objet. J'ai reproduit l'exemple du livre, il s'agit d'affecter l'abscisse et l'ordonnée d'une position :
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 public class Point() { // constructeur public Point(int abs, int ord) { x = abs ; y = ord ; } // méthode de copie d'objet public Point copie() { Point p = new Point(x, y) ; p.x = x ; p.y = y ; return p ; } private int x, y ; }p3 prend bien les valeurs de p, bien que je ne sache pas à ce stade comment vérifier qu'il s'agit bien d'une copie et non d'un pointeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 dans main de ma classe principale : Point p = new Point(5, 6) ; Point p3 = p.copie() ;
Ma question est la suivante : dans la méthode copie(), pourriez-vous svp me dire à quoi servent les affectations p.x = x et p.y = y ?
L'appel au constructeur Point p = new Point(x, y) ne fait-il pas cette initialisation ? J'ai enlevé les lignes p.x = x et p.y = y de la méthode et le résultat est le même.
Merci si vous pouvez m'éclairer
C. Tobini
Partager