UML类图
2017-10-31 本文已影响12人
sankemao
依赖关系
动物与氧气是依赖关系,动物的生存都依赖氧气。但氧气不是动物的一部分。
在java中,依赖表现为:局部变量,方法中的参数和对静态方法的调用。
关联(Association):
成员变量, 单向, 双向.
比如动物园类中持有猴子的全局变量,它们是关联的,箭头指向猴子。
聚合(Aggregation):
表示has-a的关系,是一种不稳定的包含关系。较强于一般关联,有整体与局部的关系,并且没有了整体,局部也可单独存在。如公司和员工的关系,公司包含员工,但如果公司倒闭,员工依然可以换公司。在类图使用空心的菱形表示,菱形从局部指向整体。
上图中, 大雁与雁群之间是聚合关系, 雁群中少掉一只大雁,雁群依然是雁群。
组合(Composition):
表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;订单和订单选项的关系。在类图使用实心的菱形表示,菱形从局部指向整体。
上图中, 翅膀与鸟之间是组合关系,一只正常的鸟不能没有翅膀,没了翅膀就残疾了。