Selon je-ne-sais-plus-qui (Meyers ?), une fonction F (ou classe) déclarée comme amie d'une classe C fera partie de son interface. L'interface se définissant comme le nombre de fonctions / membres publiquement accessibles qui fournissent un service en rapport à une donnée stockée dans la classe. (Peu claire, mon histoire.)
En gros, un membre public ne brise pas plus l'encapsulation qu'un couple de getters/setters. Enfin, sauf si le setter n'est pas idiot (i.e. vérification de bornes ou autre). Mais, dans ce cas, ce n'est plus vraiment un setter.
Partager