Language agnostic 为什么箭头在继承中向上?

Language agnostic 为什么箭头在继承中向上?,language-agnostic,inheritance,Language Agnostic,Inheritance,绘制继承图时,通常 Base ^ | Derived 基础 ^ | 衍生 派生扩展基础。那么,为什么箭会向上 我认为这意味着“派生函数通过调用派生函数与基函数通信”,但基函数不能调用派生函数。B是主体,A是对象,action是“继承”。所以B作用于A,因此箭头的方向。我认为重点是表达“泛化”:A是B的泛化 这样,箭头表达的概念与扩展中的相同,

绘制继承图时,通常

Base ^ | Derived 基础 ^ | 衍生 派生扩展基础。那么,为什么箭会向上


我认为这意味着“派生函数通过调用派生函数与基函数通信”,但基函数不能调用派生函数。

B是主体,A是对象,action是“继承”。所以B作用于A,因此箭头的方向。

我认为重点是表达“泛化”:A是B的泛化


这样,箭头表达的概念与扩展中的相同,但方向是“正确的”

a原因之一是符号的一致性。所有其他定向箭头(依赖项、聚合项、组合项)从依赖项指向被依赖项


在继承中,B依赖于A,但不是相反。因此箭头从B指向A。

我总是认为B比A有更多的内容(子类通常比超类有更多的方法),因此B得到箭头的宽端,A得到尖头

在UML中,箭头称为“泛化”关系,它只表示派生类的每个对象也是类基的对象

根据上部结构2.1.2:

A Generalization is shown as a line with a hollow triangle as an
arrowhead between the symbols representing the involved classifiers.
The arrowhead points to the symbol representing the general 
classifier. This notation is referred to as the “separate target style.”

但这并不是对这个问题的真正答案:-)

将箭头读作“继承自”,它是有意义的。或者,如果你愿意的话,可以把它看作是可以拨打的方向电话

关于ascii符号的注释-来自 对于

,您可以考虑以下ASCII图箭头
IS_A relation (inheritance)

  +-------+         +-----------+
  | Base  |         | Interface |
  +---^---+         +-----^-----+
     /_\                 /_\     _
      |                   :     (_) OtherInterface
      |                   :      |
      |                   :      |
 +---------+      +----------------+
 | Derived |      | Implementation |
 +---------+      +----------------+   
vs


继承是依附的一种形式继承是物质的蕴涵
B=>A
表示“每个B意味着一个A”。我同意你的第一部分,但关于第二部分,以下是可能的:[从基类调用派生类函数]()
HAS_A relation (containment)

  +-------+   
  | User  |       
  +-------+   
      |    
      |       
      |       
     \ /       
 +----V----+  
 |  Roles  |  
 +---------+