4
UML类图符号:关联,聚合和组成之间的区别
我对UML类图的某些表示感到困惑。 我很确定我知道协会的意思。两个类的实例之间的任何关系(一个类的实例需要了解第二个类的实例才能执行其工作)都属于关联关系。关联通常意味着类A具有对类B实例的引用(字段)。 但是,我很难理解“ 聚合”和“ 组合”箭头的含义。我的部分困惑是由于遇到这些符号的不同定义引起的。 聚合符号的两个定义: 定义1:每当类A的实例持有类B的实例的集合(例如,列表,数组等)时,两个类之间的聚合符号就适用。 定义2:如果类A的实例持有对类B的实例的引用,并且实例B的依赖于实例A的生命周期,则两个类之间的聚合链接是合适的。含义:类A的实例被删除时,类B的实例也将被删除。类B的实例完全包含在类A的实例中,而不是类A的实例仅拥有对类A的引用的引用。 B类(常规协会)。 关于“组合”符号的含义以及它与“聚合”符号的区别,我不确定。 请澄清定义并帮助我理解。具体的例子将受到欢迎。