一張類圖理解UML各種關係

 類圖的各種箭頭,各種關係總是記了忘,忘了記,這次畫個圖再加深一下記憶:

聚合和組合是兩種比較特殊的關聯關係。補充如下:

1.繼承
子類擁有超類的所有屬性和行爲

class A{}
 
//B繼承了A中的所有的方法和屬性,對於私有的方法和屬性,子類只能是擁有,但無法直接使用。
class B extends A{}
 

2.關聯
一般以類的屬性形式出現在關聯類中,使用成員變量來實現。又分爲聚合關係和組合關係。

class A{}
 
class B{
    A a;//成員變量引入了A類
}
3.聚合
has a:強關聯,一個類的實例由另一個類的實例構成,後期使用不會因爲對象的刪除而刪除。

class A{}
 
class B{
    A a;//成員變量引入了A類
  B(A a){
      this.a = a;
  }
}
 
4.組合
contains a:強聚合,組合的對象不能由其他對象共享,且與構成他的對象一起消亡。整體和部分是不可分割的,有共同的生命週期。

class A{}
 
class B{
    A a;//成員變量引入了A類
    B(){
        this.a = new A();
    }
}
 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章