Alors toujours sur mon interface graphique orientée objet (hé oui ^^) j'ai un problème qui peut paraître assez simple mais auquel je n'arrive vraiment pas à trouver de solution, il s'agit du suivant:
[URL=http://imageshack.us][IMG]http://img150.imageshack.us/img150/1984/img144us9.png[/IMG][/URL]
Voilà j'ai un composant graphique (par exemple un bouton) et un container pouvant contenir des composants (par exemple une fenêtre). Un container peut être considéré comme un composant en ce sens que traiter un container revient bêtement à traiter tous les composants qu'il contient relativement à lui-même.
Maintenant je voudrais faire un composant animé. Tout va bien, je crée un AnimatedComponent qui se base sur Component il et ajoute des fonctions qui le déplacent gentiment lorsqu'on fait un setPosition par exemple.
Maintenant le problème: j'aimerais faire pareil pour un Container. Or il se trouve que le code serait 100% identique, puisqu'un Container dispose des mêmes propriétés que le composant et le déplacer se fait de la même manière. Y'a-t-il un moyen de factoriser de manière à arriver à un résultat comme dans le schéma? (sans pour autant que le code devienne difficile à maintenir)
Pour l'instant je fais un truc moche: je n'ai qu'une seule classe AnimatedComponent qui hérite de Container car qui peut le plus peut le moins (un Container contenant zéro composant est un composant). Ainsi on perd la notion de Component/Container à ce niveau et c'est pas super propre

Merci d'avance pour votre aide
