Comprehénsion de this
Résolu
stampia02
Messages postés
105
Statut
Membre
-
stampia02 Messages postés 105 Statut Membre -
stampia02 Messages postés 105 Statut Membre -
Bonjour,
Je voulais savoir si mon code était juste?
Mon but, lancer une Exception quand un étudiant veux changer de série alors qu'il y est déjà ou qu'il est délégué de classe.
Je voulais savoir si mon code était juste?
Mon but, lancer une Exception quand un étudiant veux changer de série alors qu'il y est déjà ou qu'il est délégué de classe.
public void changerSerie(Serie serie){
if (this.serie == serie) throw new IllegalArgumentException("L'étudiant est déjà dans cette série");
if (this == this.serie.getDelegue()){
throw new IllegalArgumentException("Un délégué ne peut pas changer de série");
} else
this.serie = serie;
}
A voir également:
- Comprehénsion de this
- Hijack this - Télécharger - Antivirus & Antimalwares
- Cannot display this video mode - Forum Ecran
- This windows build is not supported by this playbook ✓ - Forum Windows 10
- No compatible source was found for this media - Forum Mozilla Firefox
- This program cannot be run in dos mode ✓ - Forum Programmation
1 réponse
Bonjour,
A priori c'est bon.
Remarques :
Si tu as un attribut qui s'appelle
Il n'est pas vraiment nécessaire de lever une exception si l'étudiant est déjà dans la série, car au final ça ferait juste rien, mais en sortie de méthode tu auras bien la série voulue de configurée.
En général dans ces cas là on renvoie un booléen, qui vaut true si l'objet a changé.
NB. Ne pas oublier le cas où on passerait null en valeur.
Soit c'est autorisé et il faut vérifier que
Soit c'est interdit et il faut lever une exception pour ce cas.
A priori c'est bon.
Remarques :
Si tu as un attribut qui s'appelle
serie, évites d'appeler également ton paramètre de méthode
serie, ça te complique la vie pour rien.
Il n'est pas vraiment nécessaire de lever une exception si l'étudiant est déjà dans la série, car au final ça ferait juste rien, mais en sortie de méthode tu auras bien la série voulue de configurée.
En général dans ces cas là on renvoie un booléen, qui vaut true si l'objet a changé.
NB. Ne pas oublier le cas où on passerait null en valeur.
Soit c'est autorisé et il faut vérifier que
serie != nullavant de faire
serie.getDelegue().
Soit c'est interdit et il faut lever une exception pour ce cas.
public void changerSerie(Serie nouvelleSerie) {
if (nouvelleSerie == null)
throw new IllegalArgumentException("null n'est pas une série valide");
if (serie == nouvelleSerie)
return false;
if (serie != null && serie.getDelegue() == this)
throw new IllegalStateException("Un délégué ne peut pas changer de série");
serie = nouvelleSerie;
return true;
}
stampia02
Messages postés
105
Statut
Membre
1
Merci KX pour tes éclaircissement !