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 }
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 }