46Fermer48
ZephLe 26/11/2008 à 17:24
C'est toujours intéressant de coder de façon générique pour pouvoir réutiliser au maximum ton code et éviter d'avoir à le dupliquer tôt ou tard (ou de te retrouver bloquer parcequ'une contrainte que tu auras adoptée va t'empêcher de faire un truc assez pratique par la suite). Je donne un exemple qui n'aura peut-être pas beaucoup de sens pour ton projet, mais imaginons que tu veuilles faire une bibliothèque de traitements d'images : ça pourrait être intéressant de l'autoriser à travailler sur ta classe Image, mais là tu risque de t'empêcher cette possibilité future puisqu'Image est définitivement liée à Graphics (qui n'a pas tellement de sens pour la lib de traitement d'image, en revanche).

Dans ton cas, je ne suis pas sûr d'avoir bien saisi le problème (pourtant j'ai relu le topic), tu parles de devoir faire accès à des champs privés mais tu ne donnes pas beaucoup de détails (ou alors j'ai mal lu) ; tu n'as pas moyen de t'en sortir en dotant ta classe Image des méthodes nécessaires pour que Graphics puisse la manipuler ? En théorie, si Graphics n'est pas capable d'afficher une Image, c'est probablement qu'il manque quelques méthodes fondamentales pour ta classe Image et donc qu'elle est incomplète (ou alors pas destinée à être autonome, mais pour ce genre d'objet ça me semblerait quand même plus naturel)