Relations de droit d'accès dans les diagrammes de classes de modélisation de domaine C/C++

Dans les diagrammes de classes de modélisation de domaine, une relation de droit d'accès est une relation par laquelle une classe permet à une autre classe d'avoir une visibilité sur ses attributs ou opérations encapsulés.

En C/C++, une relation spéciale permet à une classe d'accorder à une autre classe un droit d'accès à sa zone de données privée. La classe à qui le droit d'accès a été accordé devient une amie de la classe partageante. Une classe amie d'une autre classe a accès à toutes les données et méthodes de la classe partageante.

Par exemple, une classe Customer accorde un droit d'accès à la classe Account pour qu'elle puisse utiliser des informations personnelles sur le client. La classe Account devient une amie de la classe Customer. Cette relation simplifie la tâche de la classe Account car elle a accès à la classe Customer.

Remarque : Les relations de droit d'accès dans C/C++ contournent l'encapsulation de données et peuvent donc aller à l'encontre le l'esprit dans lequel certaines classes ont été conçues. Les amis dans C/C++ doivent être utilisés avec précaution.

Comme l'illustre la figure suivante, une relation de droit d'accès est représentée par une ligne tiretée connectant les classes et dont la pointe ouverte se dirige vers la classe amie ou vers la classe qui a le droit d'accéder aux données et méthodes privées de la classe partageante.

Code source C/C++ Visualisation UML
Une capture d'écran du code C/C++ illustrant une relation  de droit d'accès. A C/C++ permission relationship is displayed.

Vos commentaires