類與類之間的關係

2021-08-20 23:18:05 字數 2324 閱讀 5992

泛化(繼承):指的是乙個類(稱為子類、子介面)繼承另外乙個類(稱為父類、父介面)的功能。在uml類圖設計中,泛化(繼承)使用一條帶空心的三角箭頭的實線表示,從子類指向父類,或者是從子介面指向父介面。

示例**:

public

class

father

}class

sonextends

father

}

實現:實現指的是乙個類實線inte***ce介面的功能。在uml設計中通過使用一條帶空心三角箭頭的虛線表示,從類指向實現的介面。

示例**:

inte***ce

ibook

class

novelbook

implements

ibook

}

在uml類圖中實現和繼承可以聯合記憶,兩者區別乙個是實線,乙個是虛線。依賴:類a使用到類b,但這中使用關係是具有偶然性、臨時性的,屬於若耦合。

在**上體現在,類a中含有類b的區域性變數,類圖如下所示;

關聯:關聯體現的是兩個類之間語義級別的一種強依賴關係,屬於強耦合。這種關係比依賴強、不存在依賴關係的偶然性、關聯關係也不是臨時性的,一般是長期性的,而且雙方的關係一般是平等的。關聯可以是單向、雙向的。體現在**上是,類a中有類b中的成員變數。uml類圖設計中,關聯關係由關聯類a指向被關聯類b的帶箭頭的實線表示。

類圖如下所示:

示例**如下所示:

class

abstract

class

abstractgun

class

rifle

extends

abstractgun

}class

soldier

public

void killenemy(abstractgun gun)

}class

client

}

類圖如下:

client與soldier之間為依賴關係,在main方法中有如下內容

soldier solder=new soldier();

soldier與abstractgun之間為關聯關係關係,soldier中有abstractgun的類變數private abstractgun gun;

rifle與abstractgun之間為繼承關係。

關聯和依賴關係可以聯合記憶,在uml類圖中兩者區別在與連線的劃分,實質為兩個類之間耦合性的強弱,耦合性強的為依賴關係,耦合性弱的為關聯關係。

聚合:聚合是關聯關係的一種特例,體現在整體與部分到的關係,即has-a的關係。此時整體與部分之間是可分離的,他們可以具有各自的生命週期,部分可以屬於多個整體物件,也可以為多個整體物件共享。比如計算機與cpu、公司與員工的關係等。表現在**上與關聯關係是一致的。在uml類圖中聚合關係以空心菱形加實線箭頭表示。

組合:組合也是關聯關係的一種特例,體現的是一種contains-a的關係,這種關係比耦合更強,也稱為強聚合。它同樣體現整體與部分間的關係,但此時整體與部分是不可分的,整體宣告週期結束意味著部分生命週期結束。比如人和人的**。表現在**層面上與關聯關係是一致的。在uml類圖設計中,組合關係以實心菱形加實現箭頭表示。

類與類之間的關係

uml uml是統一建模語言 為軟體開發提供一些標準的圖例,統一開發思想,從而促進團隊協作 在軟體過程中,會用到uml 分析 設計 編碼 測試 維護 主流的有 rup rational unified process 合理的統一過程 強調軟體開發一開始就要有好的設計 才能有好的設計 xp程式設計 e...

類與類之間的關係

1.在乙個類中將被聚合元素作為其屬性 如果所有類都會用到乙個類的物件,則把它作為屬性 在任何方法的任何類,都可以建立物件 package 聚合 public class car public static void main string args package 聚合 public class w...

類與類之間的關係

一 繼承關係 繼承指的是乙個類 稱為子類 子介面 繼承另外的乙個類 稱為父類 父介面 的功能,並可以增加它自己的新功能的能力。在uml類圖設計中,繼承用一條帶空心三角箭頭的實線表示,從子類指向父類,或者子介面指向父介面。二 實現關係 實現指的是乙個class類實現inte ce介面 可以是多個 的功...