许可权关系

在类图中,许可权关系是指这样一种关系:一个类允许另一个类访问它包括的属性或操作。

在 C/C++ 中,一种特殊关系允许一个类许可另一个类访问它的私有数据区。被授予了许可权的类就成为共享类的友元。作为另一个类的友元的类可以访问共享类的所有数据和方法。

例如,Customer 类为 Account 类授予许可权,以便 Account 类可以使用有关客户的个人信息。Account 类就成为 Customer 类的友元。这种关系使 Account 类更容易执行它的任务,这是因为它可以访问 Customer 类。

注: C/C++ 中的许可权关系将阻止实现数据封装,并且可能会破坏计划的一个或多个类的设计。应谨慎使用 C/C++ 中的友元。

如下表中的图所示,许可权关系是由两个类之间的带有开口箭头的虚线连接器表示的,开口箭头指向友元类或者有权访问共享类的私有数据和方法的类。

C/C++ 源代码 UML 可视化
用于说明许可权关系的 C/C++ 代码的快照。 A C/C++ permission relationship is displayed.
相关概念
关联关系
依赖关系
泛化关系
表现关系
拥有的元素关联关系
抽象泛化关系
未解析的引用的装饰

反馈