本文以starUML中的图例解释UML类图中的箭头含义。
-
泛化关系(generalization):继承关系的一种表现形式,箭头指向被继承的父类,这个父类不是抽象类。
-
实现关系(realize):继承关系的一种表现形式,箭头指向被继承的父类,这个父类是抽象类。
-
聚合关系(aggregation):表示整体由部分构成的语义,例如:一个部门和员工的关系。
-
组合关系(composition):表示整体由部分构成的语义。聚合和组合的区别在于:聚合中整体没有了,部分还存在。而组合中整体没有了,部分也不存在了。例如:一个公司和部门的关系。
-
关联关系(association):用来定义对象之间静态的、天然的结构。一般指强关联关系。例如:学生和学校的关系。表现在代码层面,为被关联类以类属性的形式出现在关联类中,也可能是关联类引用了一个类型为被关联类的全局变量。
-
有方向的关联关系(directed association):是关联的一种特别形式,是单向的。被关联的类不知道关联类。
-
依赖关系(dependency):描述一个对象在运行期间会用到另一个对象的关系。在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系;依赖关系除了临时知道对方外,还是“使用”对方的方法和属性;
参考:
http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html
http://blog.csdn.net/duran1986/article/details/5573415
网友评论