権限の関係

クラス図において、権限の関係とは、あるクラスが別のクラスに、そのカプセル化された属性または操作に対する可視性を持つことを許可する関係です。

C/C++ では、特別な関係により、あるクラスがその専用データ域にアクセスする権限を別のクラスに与えることができます。 権限を付与されたクラスは、共用クラスのフレンドになります。 別のクラスへのフレンドであるクラスは、その共用クラスのすべてのデータおよびメソッドにアクセスできます。

例えば、Customer クラスが Account クラスへ権限を付与し、 Account クラスが、顧客についての個人情報を使用できるようにします。 Account クラスは、Customer クラスのフレンドになります。 この関係により、Account クラスが Customer クラスにアクセスできるため、Account クラスでは作業の実行が容易になります。

注: C/C++ における権限の関係により、データのカプセル化が回避され、1 つまたは複数のクラスにおける設計の意図が壊れる場合があります。 そのため、C/C++ におけるフレンドは、注意して使用する必要があります。

以下の表の図で示されるように、権限の関係は、フレンドのクラス、または共用クラスの専用データおよびメソッドへのアクセス権限を持つクラスを指す白抜き矢印がある、クラス間の破線のコネクターで表示されます。

C/C++ ソース・コード UML の可視化
権限の関係を示す C/C++ コードのスナップショット。 C/C++ の権限の関係の表示。
関連概念
関連
依存関係
汎化関係
マニフェスト関係
所有される要素関連
抽象汎化
未解決の参照の装飾
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved. (C) Copyright IBM Japan 2005