Associations

Universite.java

01 import fr.unice.esinsa.utils.*;
02
03 /**
04  * Classe représentant une Université comme un ensemble d'étudiants.
05  * @invar <code>nom.length() > 0</code>.
06  */
07 public class Universite extends EnsembleTrie {
08     /** Le nom de l'Universite. */
09     private String nom;
10
11     /**
12      * Construit une Universite avec le nom fourni.
13      * @param nom Le nom de l'Universite construite.
14      * @ante <code>nom.length() > 0</code>.
15      */
16     public Universite (String nom) {
17         this.nom = nom;
18     }
19
20     /**
21      * Retourne un {@link fr.unice.esinsa.utils.Enumerateur} sur l'ensemble
22      * des étudiants.
23      * @see fr.unice.esinsa.utils.EnsembleTrie#enumere
24      */
25     public Enumerateur etudiants () {
26         return enumere();
27     }
28
29     /**
30      * Retourne le nom de l'Universite.
31      * @return {@link nom}.
32      */
33     public String toString () {
34         return nom;
35     }
36 }
    

Etudiant.java

01 /**
02  * Classe représentant un Etudiant.
03  */
04 public class Etudiant extends Personne {
05     /** L'{@link Universite} où il étudie. */
06     private Universite universite = null;
07
08     /**
09      * Inscrit l'Etudiant à l'{@link Universite}.
10      * @param univ Une {@link Universite}.
11      * @ante <code>univ != null</code>.
12      * @cons L'Etudiant apparaît dans <code>univ.etudiants()</code>.
13      *       Il est également désinscrit de sa précédente Université.
14      */
15     public void inscrit (Universite univ) {
16         if (universite != null)
17             universite.enleve(this);
18         universite = univ;
19         universite.ajoute(this);
20     }
21
22     /**
23      * Permet à l'Etudiant d'apprendre.
24      * @cons L'Etudiant a appris des choses.
25      */
26     public void travaille () {
27         ...
28     }
29 }