1. 依賴(Dependency)
依賴是對象間最弱的一種關系,一個對象依賴于另一個對象是指這個對象和它之間存在短期的關系,在這個短暫的關系中,依賴的對象通過調用被依賴對象的方法來擷取它提供的服務,或者依此來配置被依賴的對象。

2.
關聯(Association)
關聯是對象間長期的關系。在關聯中,一個對象儲存對另一個對象的引用,并在需要的時候調用這個對象的方法。
3. 聚合(Aggregation)
聚合是關聯的一種形式,代表兩個類之間的整體/局部關系。聚合暗示着整體在概念上處于比局部更高的一個級别,而關聯暗示兩個類在概念上位于相同的級别。聚合也轉換成Java中的一個執行個體作用域變量。
關聯和聚合的差別純粹是概念上的,而且嚴格反映在語義上。聚合還暗示着執行個體圖中不存在回路。換言之,隻能是一種單向關系。
4.
組合(Composition)
也叫合成, 組合表明一個對象是被一個更大的整體所擁有。這個被包含的對象可能不參與更多的組合關系,并且不能獨立于這個整體而存在。
5. 泛化(Generalization)
泛化表示一種父子繼承關系,在Java中,用extends關鍵字來直接表示這種關系。
6. 實作(Realization)
實作關系表示一個實體定義一個合同,而另一個實體保證履行該合同,也就是定義接口,讓實作類來實作接口定義裡面的邏輯内容。對Java應用程式進行模組化時,實作關系可直接用implements關鍵字來表示。