關聯 (物件導向程式設計)
外观
此條目或其章節极大或完全地依赖于某个单一的来源。 (2025年12月) |
在物件導向程式設計中,關聯(association)定義物件類別之間的關係,允許某一物件實例可以促使另一物件代表其進行操作。此關係屬於結構性關係,因為它僅說明了某一類物件與另一類物件之間的連結,並不代表行為本身。
中:關聯是雙向的,但可以只限於一個方向,標示方式就是加上表示方向的箭頭
下:禁止關聯
若用一般的用語,上述的「促使」可以是對受控物件「送出訊息」、「執行其方法」、「呼叫其成員函式」等。具體的實作會讓請求方,用指向受控物件方法的參照或指標,來呼叫該方法。
有關聯的物件可以視為是依關聯中定義的角色來互動,前提是物件在目前活動狀態下,允許其他物件以此物件定義的角色與其互動。在關聯的情境中,可以用角色來區分二個相同類別的物件。角色說明了一物件在關聯中的公有層面[1]。
關聯的任一端,可以有屬性的全部特徵:
- 可以有multiplicity,會用「下限..上限」的方式標示其數量上的限制。
- 可以有名稱。
- 可以宣告可見性。
- 可以表示關聯的一端是有排序的,或是唯一的。
參考資料
[编辑]- ^ Rumbaugh, JR; et al. Object-oriented modeling and design
. Prentice Hall. 1991. ISBN 0-13-630054-5.