Je pense que le problème du posteur initial vient surtout du fait qu'en général l'apprentissage de la programmation objet est mal fait (que ce soit par des profs ou via des tutoriels en ligne). Parce que effectivement, quand la seule chose qu'un prof ou un tutoriel dit c'est "déclarer les propriétés de classe en privé et faites des méthodes pour y accéder", ça n'a pas de sens. Par contre lorsqu'on explique que l'intéret d'encapsuler ses objets et de mettre en place des interfaces pour y accéder, là on comprend mieux (l'exemple de la tempértature en degré ou en kelvin, ou l'expression des coordonnées d'un point en coordonnées polaires ou rectangulaires est plus parlant).
Si on n'explique pas que le but c'est de pouvoir changer l'implémentation sans que les développeurs qui utilisent nos classes ne soient impactés, il est difficle de se faire une idée de la raison d'être de l'encapsulation. L'idéal est d'avoir un cas concret comme exemple.
[^] # Re: Pas le même paradigme
Posté par totof2000 . En réponse au message Avantages du C++ sur le C ?. Évalué à 3.
Je pense que le problème du posteur initial vient surtout du fait qu'en général l'apprentissage de la programmation objet est mal fait (que ce soit par des profs ou via des tutoriels en ligne). Parce que effectivement, quand la seule chose qu'un prof ou un tutoriel dit c'est "déclarer les propriétés de classe en privé et faites des méthodes pour y accéder", ça n'a pas de sens. Par contre lorsqu'on explique que l'intéret d'encapsuler ses objets et de mettre en place des interfaces pour y accéder, là on comprend mieux (l'exemple de la tempértature en degré ou en kelvin, ou l'expression des coordonnées d'un point en coordonnées polaires ou rectangulaires est plus parlant).
Si on n'explique pas que le but c'est de pouvoir changer l'implémentation sans que les développeurs qui utilisent nos classes ne soient impactés, il est difficle de se faire une idée de la raison d'être de l'encapsulation. L'idéal est d'avoir un cas concret comme exemple.