UML类图关系涉及继承、实现、依赖、关联、聚合、组合六种关系。其中继承和实现又可以归到泛化中。耦合度:泛化>组合>聚合>关联>依赖。当一个类变化,对另一个类产生的影响越大,可以认为耦合度越大。
1.依赖
依赖使用虚线加箭头表示。比如,动物生存需要氧气、水以及食物等。也就是说,动物依赖于氧气和水,他们之间是依赖关系。
发生依赖关系的两个类都不会增加属性。其中的一个类作为另一个类的方法的参数或者返回值,或者是某个方法的变量而已。在上面的例子中,氧气和水作为新陈代谢方法的变量,产生了依赖关系。
2.关联
关联使用实线加箭头表示。当一个类“知道”另一个类时,可以用关联表示。比如,企鹅和气候。企鹅是一种很特别的鸟,会游不会飞,它与气候有很大的关联。企鹅需要“知道”气候的变化,需要了解气候规律。
关联在类中的表现形式是,发生关联的两个类,类A成为类B的属性