01 package fr.isae.geometry;
02
03 /**
04 * <code>PointNomme</code> decrit un point nomme qui est un point
05 * avec un nom.
06 *
07 * @author <a href="mailto:cregut@enseeiht.fr">Xavier Cregut</a>
08 * @version 1.0
09 */
10 public class PointNomme extends Point {
11
12 private String nom;
13
14 /**
15 * Construire un point a partir de son abscisse, de son
16 * ordonnee et de son nom.
17 *
18 * @param x abscisse
19 * @param y ordonnee
20 * @param nom nom
21 */
22 public PointNomme(double x, double y, String nom) {
23 super(x, y); // toujours en premiere ligne !
24 setNom(nom);
25 }
26
27 /**
28 * Le nom du point nomme.
29 *
30 * @return le nom du point nomme
31 */
32 public String getNom() {
33 return nom;
34 }
35
36 /**
37 * Changer le nom du point nomme.
38 *
39 * @param nom le nouveau nom
40 */
41 public void setNom(String nom) {
42 this.nom = nom;
43 }
44
45 /**
46 * <code>toString</code> renvoie un objet de type <code>String</code>
47 * qui represente une chaine de caracteres representant le point nomme.
48 *
49 * @return un objet de type <code>String</code> representant
50 * le point. Pour un point de coordonnees (2,3) et de nom "X",
51 * cet objet representera la chaine <code>X:(2,3)</code>.
52 */
53 @Override public String toString() {
54 return ("" + getNom() + ":" + super.toString());
55 }
56
57 /**
58 * <code>equals</code> permet de verifier si deux points nommes sont egaux,
59 * i.e. s'ils ont les memes coordonnees et le meme nom.
60 *
61 * @param o un <code>Object</code> qui est l'objet dont on veut verifier s'il
62 * est egal a <code>this</code>
63 * @return un <code>boolean</code> qui est <code>true</code> si <code>o</code>
64 * est un point nomme egal a <code>this</code>
65 */
66 @Override public boolean equals(Object o) {
67 if (! (o instanceof PointNomme)) {
68 return false;
69 }
70
71 return super.equals(o) && (this.nom.equals(((PointNomme) o).nom));
72 }
73 }
|