在上面的图片中,类B继承了类A。如果B继承了A所有的方法,那么箭头不应该从A指向B吗?在我看来,如果箭头是从A指向B,这会更有意义。
箭头方向为什么是这样而不是相反的?我想听听解释。谢谢。
编辑:我知道这是UML设计的方式,并且上面的图表符合UML规则,但我的问题是为什么UML让箭头走这个方向。
在上面的图片中,类B继承了类A。如果B继承了A所有的方法,那么箭头不应该从A指向B吗?在我看来,如果箭头是从A指向B,这会更有意义。
箭头方向为什么是这样而不是相反的?我想听听解释。谢谢。
编辑:我知道这是UML设计的方式,并且上面的图表符合UML规则,但我的问题是为什么UML让箭头走这个方向。
原因是在您的情况下,B
引用(或者说调用)了 A
。在 A
中没有关于 B
的信息,所以没有从 A 到 B 的箭头,而是相反的。
UML 实体图并不涉及谁“得到”什么,而是涉及谁引用 / 知道谁。
class B extends A
"而不是反过来。A
不会受影响 - 它不会“知道”这一点。 - user194878A
中没有关于B
的知识”这部分。 - ChumboChappati这就是UML的设计方式。箭头指向一般类,特殊类继承并添加/替换功能。