[débutant][Conception] Modélisation pour éviter le getClass()
Bonjour,
J'ai un petit problème de modélisation qui je pense doit être tout bête (mais moi aussi apparemment).
J'ai 3 classes ClasseA, ClasseB, ClasseC qui implémement une interface MonInterface.
Ensuite j'ai une autre classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public class maClasse {
public maMethode(MonInterface obj) {
if (obj.getClass="ClasseA")
// TraitementA
if (obj.getClass="ClasseB")
// TraitementB
if (obj.getClass="ClasseC")
// TraitementC
}
} |
Comment faire pour éviter le getClass() et faire quelque chose de propre ?
Merci beaucoup.
[ Modéré par vedaer ]
-> Ajout des balises code
[ Merci de respecter les Règles du Forum ]
Re: [Résolu][débutant] Modélisation pour éviter le getClass(
Salut,
Déclare une méthode dans ton interface :
Code:
1 2 3
| public interface MonInterface {
public void maMethode ();
} |
Tu sera obligé de l'implémenter dans toutes les classes qui implementent MonInterface :
Code:
1 2 3 4
| public Class ClasseA implement MonInterface {
public void maMethode () {
// TraitementA
} |
Code:
1 2 3 4
| public Class ClasseB implement MonInterface {
public void maMethode () {
// TraitementB
} |
Code:
1 2 3 4
| public Class ClasseC implement MonInterface {
public void maMethode () {
// TraitementC
} |
Ensuite il te suffit de faire :
Où obj est de type MonInterface. La methode correspondante à la classe réel de l'objet obj sera appellé...
C'est la justement l'interet d'utiliser des interfaces !
a++