C/C++ ドメイン・モデリング・クラス図での権限関係

C/C++ ドメイン・モデリング・クラス図における権限関係は、 別のクラスのカプセル化された属性または操作に対する 可視性を、あるクラスが持つことを許可する関係です。

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

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

注: C/C++ 内の権限関係によって、 データのカプセル化が回避され、 単一または複数のクラスの予定されていた設計が 中断される場合があります。 C/C++ 内のフレンドは、注意して使用してください。

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

C/C++ ソース・コード UML 可視化
権限関係を表す C/C++ コードのスナップショット。 A C/C++ permission relationship is displayed.

フィードバック