Berechtigungsbeziehungen

In Klassendiagrammen ist eine Berechtigungsbeziehung eine Beziehung, in der eine Klasse zulässt, dass eine andere Klasse auf ihre eingebundenen Attribute oder Operationen zugreift.

In C/C++ gestattet eine spezielle Beziehung, dass eine Klasse eine andere Klasse dazu berechtigt, auf ihren privaten Datenbereich zuzugreifen. Die Klasse, der Berechtigung erteilt wurde, wird ein Freund der Klasse, die die gemeinsame Nutzung zulässt. Eine Klasse, die ein Freund einer anderen Klasse ist, hat Zugriff auf alle Daten und Methoden der Klasse, die die gemeinsame Nutzung zulässt.

Angenommen eine Klasse 'Kunde' gewährt einer Klasse 'Konto' Zugriff, d. h. die Klasse 'Konto' kann personenbezogene Daten über den Kunden nutzen. Die Klasse 'Konto' wird ein Freund der Klasse 'Kunde'. Diese Beziehung erleichtert der Klasse 'Konto' das Ausführen Ihrer Aufgaben, weil sie auf die Klasse 'Kunde' zugreifen kann.

Anmerkung: Berechtigungsbeziehungen in C/C++ umgehen die Datenkapselung und widersprechen möglicherweise dem beabsichtigten Design einer Klasse oder mehrerer Klassen. Das Freundschaftskonzept sollte in C/C++ mit großer Vorsicht angewendet werden.

Wie die Abbildung in der folgenden Tabelle zeigt, wird eine Berechtigungsbeziehung durch eine gestrichelte Connectorlinie zwischen Klassen mit offener Pfeilspitze dargestellt, die zu der befreundeten Klasse zeigt, d. h. zu der Klasse, die berechtigt ist, auf die privaten Daten und Methoden der Daten freigebenden Klasse zuzugreifen.

C/C++-Quellcode UML-Visualisierung
Eine Momentaufnahme von C/C++-Code mit einer Berechtigungsbeziehung. Eine C/C++-Berechtigungsbeziehung wird angezeigt.
Zugehörige Konzepte
Zuordnungsbeziehungen
Abhängigkeitsbeziehungen
Generalisierungsbeziehungen
Manifestierungsbeziehungen
Zuordnungsbeziehungen für Elemente mit Eigner
Abstrakte Generalisierung
Details für unaufgelöste Referenzen
Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2004, 2005. Alle Rechte vorbehalten.