Salut,

Je n'arrive pas à savoir comment faire...

Description des classes :
- 1 interface Message
- 1 classe MessageAA extends Message
- 1 classe MessageBB extends Message
- 1 classe TraitementMessage

Mon objectif est de faire ceci dans ma classe TraitementMessage
Message messageAA = new MessageAA();
traitementMessage(messageAA);

Message messageBB = new MessageBB();
traitementMessage(messageBB);
C'est à dire que j'ai 2 méthodes traitementMessage() pour chaque type de Message qui font un traitement différent.

Bien sûr, la solution serait de "caster" les appels de méthodes ou de faire des "instance of" mais je souhaite eviter cela. Dans mon application je reçois un message de type Message venant d'un unmarschall d'un objet MessageAA ou MessageBB.

Exemple :
MessageAA -> Marshall en Message -> sendTo -> UnMarshall en Message -> traitementMessage
J'ai essayé avec un Message<T> généric mais
traitementMessage(Message<MessageAA> m)
est equivalent à
traitementMessage(Message<MessageBB> m)
J'espère avoir été assez clair, c'est pas facile à expliquer !

Merci de votre aide

Obélix