Verwendung
Im allgemeinen dürfen Verwender einer Klasse nur auf deren öffentliche Komponenten zugreifen. In Ausnahmefällen kann es jedoch sinnvoll sein, eine engere Bindung zwischen Klassen zu gewähren. Hier kommt das Konzept der Friends zum Tragen.
Eine Klasse kann demnach explizit genannten Verwendern (den Friends) den Zugriff auf ihre geschützten (
Voraussetzungen
Alle als Friends zu deklarierenden Verwender (Klassen bzw. Interfaces) sind bereits angelegt.
Vorgehensweise

Falls Sie das Flag Nur modelliert setzen, dann erfolgt kein Eintrag im Class-Pool. Die Friends-Beziehung wird lediglich im Class Builder angezeigt und verwaltet. Zur Laufzeit kann dann von der Friends-Beziehung kein Gebrauch gemacht werden.
Ergebnis
Alle als Friends angegebenen Verwender können auch auf
PROTECTED- und PRIVATE- Komponenten der gewährenden Klasse zugreifen, sofern das Flag Nur modelliert in Schritt 4. nicht gesetzt wurde. Die Friends-Beziehung ist stets einseitig und wird nicht vererbt. Demzufolge sind Friends einer Oberklasse nicht automatisch auch Friends ihrer Unterklassen.