{
point p (1.25, 2.5) ; // construction
// affichage
cout << "Coordonnées cartésiennes : " << p.abscisse () << " "
<< p.ordonnee () << "\n" ;
p.deplace (2.1, 3.4) ; // déplacement
// affichage
cout << "Coordonnées cartésiennes : " << p.abscisse () << " "
<< p.ordonnee () << "\n" ;
}
Discussion
Cet exemple montre qu’il est toujours possible de respecter le principe d’encapsulation
en introduisant ce que l’on nomme des « fonctions d’accès ». Il s’agit de fonctions
membre destinées à accéder (aussi bien en consultation — comme ici — qu’en
modification) aux membres privés. L’intérêt de leur emploi (par rapport à un accès
direct aux données qu’il faudrait alors rendre publiques) réside dans la souplesse de
modification de l’implémentation de la classe qui en découle. Ainsi, ici, il est tout à
fait possible de modifier la manière dont un point est représenté (par exemple, en
utilisant ses coordonnées polaires plutôt que ses coordonnées cartésiennes), sans que
l’utilisateur de la classe n’ait à se soucier de cet aspect. C’est d’ailleurs ce que vous
montrera l’exercice 65 ci-après.
137
Précédent

- 138/398

Suivant