Les Classes Point
Najib TOUNSI
Les classes en Java (TD 3)
Notions à voir: La classe et ses caractéristiques
(champs/méthodes, private/ public , static , constructeurs, documentation), les caractéristiques héritées de la classe Object
(méthodes equals, toString).
I. Notion de classe
I.1 Classe, champs, méthodes, instanciation, this, private vs. public.
Créer une classe Point (coordonnée x,y) avec des méthodes setX(), setY(), getX(), getY() pour resp. affecter …afficher plus de contenu…
Comment utiliser cette méthode? Quelle est la différence avec le cas 2 précédent? Quelle serait votre choix de conception d'une fonction distance, le cas 3. ou 2. ?
3.
I.3 Egalité ou pas entre deux objets?
La fonction public boolean equals(Object o), héritée aussi de Object, permet de tester «l'égalité» entre deux objets. Usage: p et q étant deux instances de Point.
p.equals(q);
permet de tester si les deux points p et q sont égaux ou pas.
1.
Créer, toujours dans votre programme de test, deux points p et q et leur affecter les mêmes coordonnées. Vérifier le résultat de la méthode equals sur ces points. Conclusion? (La réponse est false, voir …afficher plus de contenu…
A noter:
Avec new Point() il sera fait appel au constructeur sans paramètre défini juste ci-dessus, au lieu de celui hérité comme dans §I.1.
Important! Initialiser un point par constructeur, e.g. Point p = new
Point (2,5) , n'est pas la même chose que lui affecter des valeurs par les méthodes p.setX(2) et p.setY(5) , même si dans les deux cas l'objet a la même valeur. En effet, dans le premier cas, initialisation, l'objet p n'existe pas avant son initialisation, alors que dans le deuxième cas, affectation, p est déjà créé mais ne fait que changer de