cs_orelien
Messages postés137Date d'inscriptiondimanche 7 juillet 2002StatutMembreDernière intervention11 janvier 2009
-
6 sept. 2007 à 20:13
cs_orelien
Messages postés137Date d'inscriptiondimanche 7 juillet 2002StatutMembreDernière intervention11 janvier 2009
-
18 sept. 2007 à 19:12
Bonjour,
J'ai crée un objet héritant de la classe TShape. J'aimerais maintenant le surcharger en ajoutant des paramètres à son constructeur, mais je n'y arrive pas et je ne sais pas si c'est possible.
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 6 sept. 2007 à 21:28
ton exemple est juste un peu plus complet que le mien !
ok je m'avoue vaincu
StringReplace(Guillemouze.message, 'TMyShape', 'TMonDessinage', [rfReplaceAll, rfIgnoreCase]);
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 7 sept. 2007 à 23:12
Il y a de multiples voies pour parvenir à ses fins et l'héritage traîne parfois un cortège d'inconvénients.
Dans le cas présent, supposons qu'Orelien écrive une hiérarchie de composants dérivant de TShape. En utilisant les directives reintroduce, on court le risque qu'à un moment donné, quelqu'un utilise le type de base TShape (croyant faire une bonne affaire) comme classe mère de sa hiérarchie. Et patatras, il appelle le mauvais constructeur (celui de TShape) et s'aperçoit que ses composants ne réagissent pas comme prévu. Résultat, il va devoir chercher pour ça ne marche pas et poser la question qui tue sur ce forum !
Je pense que cette directive Reintroduce n'a été inventée que pour pallier à des problèmes de conception et ne doit pas devenir une règle courante.
La programmation par composition et les designs patterns forment une voie bien souvent plus simple malgré les apparences.
D'ailleurs, un des grands principes de conception objet ne dit-il pas "Préférez la composition à l'héritage" ?
Si seulement notre ami Orelien nous avait dit ce qu'il voulait faire, on aurait pu le mettre sur la voie et lui donner des exemples de code.
May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
cs_orelien
Messages postés137Date d'inscriptiondimanche 7 juillet 2002StatutMembreDernière intervention11 janvier 2009 18 sept. 2007 à 19:12
Bonjour,
J'ai testé tout ça et ça semble bien fonctionner, merci. Mais du coup j'aurais besoin de nouvelles fonctionnalités sur ce composant.
Je souhaiterais en fait obtenir un composant graphique plus complet, sur lequel je puisse dessiner et que je pourrais déplacer au clavier et à la souris (OnMouseDown, OnMouseMove, OnMouseUp) après avoir pris le focus sur d'autre composants. Je ne sais pas de quel composant partir et comment m'y prendre pour ajouter ces évènements/propriétés.