Bonjour,
J'ai une question concernant l'écriture d'un code propre lié à un héritage.
J'ai une classe abstraite parente (MaClasseAbstraite), et deux classes filles qui étendent cette classe (Classe1 et Classe2).
Dans MaClasseAbstraite, j'ai une méthode (maMethode) qui teste différents cas:
Cette méthode convient tout à fait pour la Classe1, mais dans le cas de la Classe2, j'aimerais rajouter un «else if(cas3)» dans la liste pour appeler un nouveau traitement spécifique à ma Classe2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public boolean maMethode(){ if(cas1){ appelleAUnePremiereMethode(); } else if(cas2){ appelleAUneSecondeMethode(); } ... }
Comment faire cela proprement ?
En effet, je peux réécrire maMethode dans Classe1 et Classe2, mais cela impliquerait beaucoup de duplication de code puisque tous les premiers «if, else if» seraient identiques dans ces deux classes.
Je peux également tester dans MaClasseAbstraite si l'objet courant est une instance de Classe2, et effectuer le nouveau test dans ce cas, mais la classe parente n'a a priori pas de raison d'avoir accès à ses classes filles...
Quelqu'un a-t-il une idée pour résoudre ce problème proprement ?
Je vous remercie par avance !
Partager