PointNomme.java
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 ((instanceof PointNomme)) {
68             return false;
69         }
70 
71         return super.equals(o&& (this.nom.equals(((PointNommeo).nom));
72     }
73 }