mais qu'est-ce qu'il dit lui ?
Seuls tes 2 bouts de codes ont à voir avec ce que je disais.
Avec le bout de code MAL, il est possible de foutre un ARRAY_STACK[G] dans, par ex. un collection d'ARRAY[G], et de pêter tout (car la référence sera partagée), sans downcaster violement dans la hiérarchie comme tu le proposes. Une variable référencera l'instance avec l'interface ARRAY[G] et l'autre avec ARRAY_STACK[G].
Ta dernière proposition fait avancer le débat, se serait donc aux utilisateurs de la classe de se démerder avec les risques posés par son concepteur ? Et si des services spécifiques à la classe rendaient celle-ci atrayante pour elle-même (et non pour son interface héritée), du style la possibilité de jouer sur l'espace disponible dans le ARRAY[G] ?
J'arrive pas à savoir si je suis borné dans mon idée, si c'est réellement une connerie le "mariage de raison", ou s'il existe quelquechose que j'ai pas vu pour limiter le risque.
[^] # Re: Si j'ai bien tout compris
Posté par Dugland Bob . En réponse au journal Si j'ai bien tout compris. Évalué à 1.
Seuls tes 2 bouts de codes ont à voir avec ce que je disais.
Avec le bout de code MAL, il est possible de foutre un ARRAY_STACK[G] dans, par ex. un collection d'ARRAY[G], et de pêter tout (car la référence sera partagée), sans downcaster violement dans la hiérarchie comme tu le proposes. Une variable référencera l'instance avec l'interface ARRAY[G] et l'autre avec ARRAY_STACK[G].
Ta dernière proposition fait avancer le débat, se serait donc aux utilisateurs de la classe de se démerder avec les risques posés par son concepteur ? Et si des services spécifiques à la classe rendaient celle-ci atrayante pour elle-même (et non pour son interface héritée), du style la possibilité de jouer sur l'espace disponible dans le ARRAY[G] ?
J'arrive pas à savoir si je suis borné dans mon idée, si c'est réellement une connerie le "mariage de raison", ou s'il existe quelquechose que j'ai pas vu pour limiter le risque.