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 !
Pensez à cliquer sur
Réponse acceptée lorsque la réponse vous convient.
