Module I5 – Java Corrigé TP2 RT
1,4 – Comparaison d'objets
boolean testEgal(Point Px) {
if ((x==Px.x) && (y==Px.y)) return true;
else return false;
}
...main...
if(P1.testEgal(P2)) System.out.println("P1 et P2 sont identiques");
else System.out.println("P1 et P2 sont différents");
1,5 – Constructeur
Pour l'instant, la classe Point utilise le constructeur par défaut généré par Java. Ce constructeur est
utilisé dans le main lors de la création d'un nouvel objet :
Point P2=new Point(); // Utilisation du constructeur par défaut Point()
! Ce constructeur est généré par Java
Point(int a, int b) {
x=a; y=b;
}
...main...
Point P3=new Point(1,2); // Utilisation du constructeur Point(int a, intb)
Maintenant, le constructeur par défaut ne fonctionne plus. En effet, lorsque vous définissez un
constructeur pour votre classe, Java ne génère plus de constructeur par défaut : vous devez le recréer si vous
en avez besoin.
Point() { // Redéfinition du constructeur par défaut
}
Remarques : Un constructeur porte strictement le même nom que la classe
Soyez attentif au format d'écriture du constructeur (pas de void, ...)
1,6 – Surcharge de méthodes
Point(Point Px) {
x=Px.x; y=Px.y;
}
...main...
Point P4=new Point(P1); // Utilisation du constructeur Point(Point Px)
1,7 – Domaine d'existence des variables
1,7,1 – Modification du constructeur
Point(int x, int y) {
this.x=x; this.y=y; // Le mot clé "this" permet d'accéder aux variables
}// de l'objet, le x seul faisant référence à l'argument
Les 2 constructeurs cohabitent sans problème (principe de la prog. Objet). Java reconnaît le modèle
au format et au nombre d'argument.
IUT Elbeuf 2 / 8 S.H.