【问题标题】:UML inheritance - why is the direction of arrow from the subclass to the parent-class?UML继承-为什么箭头的方向是从子类到父类?
【发布时间】:2018-10-06 05:13:11
【问题描述】:

上图中B类继承A类。如果B继承了A的所有方法,箭头不应该是从A到B吗?在我看来,如果箭头是从 A 到 B 会更有意义。

箭头的方向是这个方向而不是相反的方向有什么原因吗?我很想听听解释。 谢谢。

编辑:我知道UML就是这样设计的,根据UML的规则,上图是正确的,但我的问题是为什么 UML 让箭头朝这个方向走。

【问题讨论】:

  • 我投票决定保持开放;这不是意见问题,这是历史问题。在做出决定并发布标准之前,这是一个意见问题,早在时间的黎明。

标签: oop object inheritance uml diagram


【解决方案1】:

原因是在您的情况下B 引用(或者您将调用)A。在A 中没有关于B 的知识,所以没有从A 到B 的箭头,而是相反。

UML 实体图不是关于谁“得到”什么,而是关于谁引用/知道谁。

【讨论】:

  • 谢谢!我想我现在明白了。当我想到它时,如果你用 Java 实现它,你会写“class B extends A”,而不是相反。 A 不会受到影响 - 它不会“知道”它。
  • 非常好的答案,尤其是“A 中没有关于B 的知识”部分
【解决方案2】:

嗯,UML 就是这样设计的。箭头指向普通类。特殊的继承和添加/替换功能。

【讨论】:

  • 感谢您的回答。但是为什么箭头是这样的?其背后的逻辑是什么?是否有关于它的文档或我可以阅读的内容?谢谢。
  • 当然:omg.org/spec/UML/About-UML 代表整个事情,uml-diagrams.org 如果您需要更轻松的摘要。
猜你喜欢
  • 2013-02-16
  • 2010-12-26
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多