Question sur comportement méthode "clone"
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:
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 ;
} |
Code:
1 2 3 4
|
dans main de ma classe principale :
Point p = new Point(5, 6) ;
Point p3 = p.copie() ; |
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 :lol:
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