類與類關係

2021-07-09 02:50:34 字數 982 閱讀 8273

表現為繼承或實現關係(is a)。具體形式為類與類之間的繼承關係,介面與介面之間的繼承關係,類對介面的實現關係。

指的是乙個類(稱為子類、子介面)繼承另外的乙個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力,uml中實現用三角形箭頭和實線表示

指的乙個類實現介面(可以是多個)的功能,uml中實現用三角形箭頭和虛線表示

關聯體現的是兩個類之間語義級別的一種強依賴關係,比如我和我的朋友,這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,而且雙方的關係一般是平等的。關聯可以是單向、雙向的。表現在**層面,為被關聯類b以類的屬性形式出現在關聯類a中,也可能是關聯類a引用了乙個型別為被關聯類b的全域性變數。在uml類圖設計中,關聯關係用由關聯類a指向被關聯類b的帶箭頭實線表示,在關聯的兩端可以標註關聯雙方的角色和多重性標記。

組合也是關聯關係的一種特例,它體現的是一種(contains-a)的關係,這種關係比聚合更強,也稱為強聚合。它同樣體現整體與部分間的關係,但此時整體與部分是不可分的,整體的生命週期結束也就意味著部分的生命週期結束,比如人和人的大腦。表現在**層面,和關聯關係是一致的,只能從語義級別來區分。在uml類圖設計中,組合關係以實心菱形加實線箭頭表示。

聚合是關聯關係的一種特例,它體現的是整體與部分的關係,即(has-a)的關係。此時整體與部分之間是可分離的,它們可以具有各自的生命週期,部分可以屬於多個整體物件,也可以為多個整體物件共享。比如乙個航母編隊包括海空母艦、驅護艦艇、艦載飛機及核動力攻擊潛艇等。表現在**層面,和關聯關係是一致的,只能從語義級別來區分。在uml類圖設計中,聚合關係以空心菱形加實線箭頭表示。

dependency(依賴關係)表現為函式中的引數、區域性變數、全域性變數(use a)。是類與類之間的連線,表示乙個類依賴於另乙個類的定義,其中乙個類的變化將影響另外乙個類。例如如果a依賴於b,則b體現為區域性變數,方法的引數、或靜態方法的呼叫。

類與類的關係

首先,允許多層繼承但不允許多重繼承 一繼多 子類本質上是包含了父類的,下面這張從記憶體的角度解釋了這一點 值得一提的是構造它們的時候走建構函式的順序 在構造子類物件的時候要先構造出乙個父類物件,也就是說,先執行父類的無參構造或者系統幫忙新增的無參構造,再走子類的構造。假如父類沒有無參構造卻有有參構造...

類與類的關係

類a依賴於類b,用由類a指向類b的帶箭頭虛線表示 被關聯類b以類的屬性形式出現在關聯類a中 關聯類a引用了乙個型別為被關聯b的全域性變數 以空心菱形加實線箭頭表示 以實心菱形加實線箭頭表示 oop程式設計思想中,繼承是乙個十分重要的內容。下面介紹幾個 常見的容易混淆的術語。首先舉例子 我們常見的動物...

類與類之間的關係

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