133 votes

Quand dois-je utiliser l'héritage privé C++ ?

Contrairement à l'héritage protégé, l'héritage privé C++ a trouvé sa place dans le courant dominant du développement C++. Cependant, je n'ai toujours pas trouvé une bonne utilisation pour lui.

Quand l'utilisez-vous ?

-1voto

hasenj Points 36139

Ce n'est pas parce que C++ possède une fonctionnalité qu'elle est utile ou qu'il faut l'utiliser.

Je dirais que vous ne devriez pas l'utiliser du tout.

Si vous l'utilisez quand même, eh bien, vous violez l'encapsulation et vous diminuez la cohésion. Vous mettez des données dans une classe et vous ajoutez des méthodes qui manipulent ces données dans une autre.

Comme d'autres fonctionnalités C++, elle peut être utilisée pour obtenir des effets secondaires tels que le scellement d'une classe (comme mentionné dans la réponse de dribeas), mais cela n'en fait pas une bonne fonctionnalité.

0 votes

Vous êtes sarcastique ? tout ce que j'ai c'est un -1 ! de toute façon je ne supprimerai pas ce message même s'il obtient -100 votes

9 votes

" vous violez l'encapsulation. " Pouvez-vous donner un exemple ?

1 votes

Les données dans une classe et le comportement dans une autre semble être une augmentation de la flexibilité, puisqu'il peut y avoir plus d'une classe de comportement et que les clients peuvent choisir celle dont ils ont besoin pour satisfaire leurs besoins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X