Hello,
Je débute en POO (avec Java donc), et je rencontre le problème suivant :
J'ai deux classes T1 et T2, et une classe mère T.
La plupart des méthodes de T1 et T2 sont quasiment identiques à un point près : dans ces méthodes, j'utilise soit un objet de type T1, soit un objet de type T2.
Vu que j'aimerais éviter la redondance de code, j'aimerais bien mettre ces méthodes directement dans ma classe T (qui est abstraite).
La seule "solution" que j'ai trouvé pour l'instant est de définir :
Code :
- abstract protected T newT();
|
dans ma classe T
Dans T1 je spécifie :
Code :
- protected T newT() {
- return new T1();
- }
|
et dans T2 :
Code :
- protected T newT() {
- return new T2();
- }
|
et dans mes méthodes, je fais donc :
Code :
- T monobjet = newT();
|
en résumé, j'ai juste besoin de créer un objet de même type (T1 ou T2) que l'objet courant.
(mon but est aussi d'éviter l'utilisation d'instanceOf)
Ma solution me semble être du vrai bricolage assez moche, donc si vous avez des idées/remarques...
Merci !