3. 類與類之間的有哪幾種關係,並說明

 

                                                                                                   類與類之間的有哪幾種關係,並說明
類與類之間的關係分爲:
1.關聯關係
單向關聯

雙向關聯

自身關聯

多維關聯(N-ary Association)

2、泛化(Generalization)

3、依賴(Dependency)

4、聚合(Aggregation)

5、組合(Composite)

 

關聯:兩個相對獨立的對象,當一個對象的實例與另外一個對象的特定實例存在固定關係時,這兩個對象之間就存在關聯關係。

下面來分別介紹一下類與類之間的關係:

1. 單向關聯  雙向關聯

我們假設有一個部門類和一個員工類爲例來說明

從部門的角度看是一對多的關係,從員工的角度看是多對一的關係,也就是說,站在不同的角度得到的結論是不一樣的,這樣,在查詢部門的時候,如果是一對多的關係,那麼得

到的部門類就可以去訪問員工表的屬性,如果查詢的是員工表,就可以訪問部門的屬性,這樣從部門可以查員工,不能從員工查部門的或者是從員工查部門,不能從部門查於員工

的就是單向關聯,如果既可以從部門查詢員工,也可以從員工查部門,那麼這是雙向關聯。

2.自身關聯

    我們以書爲類,書可以包括很多種類型的書,假設書籍下包括了一個歷史類的書,而歷史類的書又包括古代歷史,現代歷史,而古代歷史又包括古代的某一個朝代的歷史,就

這樣依次類推,可以形成一個無限的自關聯。

3.多維關聯

多維關聯是多個對象存在的關聯,比如部門下既可以有員工,還同時要給員工薪資,這個我不懂,沒有用到過。
4. 泛化
在 UML 中, 泛化關係用來表示類與類, 接口與接口之間的繼承關係。更準確的說是不僅有繼承關係,還有類和接口的實現關係。
5. 依賴
    對於兩個相對獨立的系統,當一個系統負責構造另一個系統的實例,或者依賴另一個系統的服務時,這兩個系統之間體現爲依賴關係.
    舉個簡單的例子就是:比如自行車Bicycle和打氣筒Pump,當自行車需要打氣的時候就要用到打氣筒。這屬性依賴關係
6. 聚合
        聚合關聯是一種特殊的關聯. 它表示類間的關係是整體與部分的關係. 簡言之: 關聯關係中的一個類描述了一個較大的事物, 它由較小的事物組成.
        比如:
        一個圖書館可以有十萬本書,也可以一本也沒有。但空的圖書館還是圖書館。這是聚合
7.  組合
        整件擁有部件的生命週期, 所以整件刪除時, 部件一定會跟着刪除. 而且, 多個整件不可以同時共享同一個部件。
        比如:
           一個車(我們平常能看到的普通的交通工具車)有輪子,有的車是四輪子的,有的車是三輪的,自行車是二輪的,還有獨輪車,但車至少要有一個輪子,不然就不是車

。這是組合關係。
讀到這裏,大家可能有一個疑問,聚合和組合的區別又是什麼呢?
      聚合關係是當描述一個大的事物時,大的事務可以包含小的事務,也可以不包含小的事物,比如圖書館和圖書,而組合是一個大的事物的存在必須是由多個小的事務組成的

,缺省了小的事務是不可以的。
     組合關係是更強勢的聚合。

 

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