ArduinoFree:
public : veut dire que je rentre une donnée moi même ?
C'est du langage objet. C'est la syntaxe des classes en C++ : c'est assez complexe et je suis loin de maîtriser, donc je ne peux pas t'expliquer en détail.
L'encapsulation est un mécanisme qui interdit d'accéder à certaines données depuis l'extérieur de la classe. Ainsi, un utilisateur de la classe ne pourra pas accéder à tous les éléments de celles-ci. Il sera obligé d'utiliser certaines fonctions membres de la classe (celles qui sont publiques). Vue de l'extérieur, la classe apparaît comme une boîte noire, qui a un certain comportement à laquelle on ne peut accéder que par les méthodes publiques. Cette notion est extrêmement puissante et permet d'éviter de nombreux effets de bord.
Le C++ implémente l'encapsulation en permettant de déclarer les membres d'une classe avec l'un des mots réservés public, private et protected. Ainsi, lorsqu'un membre est déclaré:
- public, il sera accessible depuis n'importe quelle fonction.
- private, il sera uniquement accessible d'une part, depuis les fonctions qui sont membres de la classe et, d'autre part, depuis les fonctions et classes autorisées explicitement par la classe (par l'intermédiaire du mot réservé friend). Ces dernières fonctions/classes sont appelées fonctions/classes amies de la classe.
- protected, il aura les mêmes restrictions que s'il était déclaré private, mais il sera en revanche accessible par les classes filles.
Là, si tu veux de la lecture sur la Programmation orientée objet, tu en as pour plus d'une soirée !!!