如何在 UML 类图中显示私有继承关系

发布于 2025-01-08 16:21:58 字数 101 浏览 0 评论 0原文

在 C++ 中,由于私有继承不被视为 is-a 关系,因此它应该如何在类图中显示以及是否显示为 has-a那么如何区分组合和私有继承呢?

In C++ since private inheritance is not considered as an is-a relationship, how is it supposed to be shown in a class diagram and if it is shown as a has-a relationship then how can it be differentiated between a composition and a private inheritance?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一身骄傲 2025-01-15 16:21:58

它应该是组合关系(子类一侧的实心黑色菱形),因为:

  • 私有继承意味着“根据...实现”,但在这方面,它可以简单地视为与“具有”关系相同。
  • 子类的实例显然拥有该对象的基类部分,并且该所有权不与任何其他对象共享。

It should be a Composition relationship (solid black diamond on the subclass side), because:

  • Private inheritance means "implemented in terms of" but in this regard it can be simply treated the same as "has a" relationship.
  • An instance of the subclass clearly owns the base calss part of the object, and the ownership is not shared with any other objects.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文