close
跳转到内容

關聯 (物件導向程式設計)

本页使用了标题或全文手工转换
维基百科,自由的百科全书

物件導向程式設計中,關聯(association)定義物件類別之間的關係,允許某一物件實例可以促使另一物件代表其進行操作。此關係屬於結構性關係,因為它僅說明了某一類物件與另一類物件之間的連結,並不代表行為本身。

Image
上:雙向關聯
中:關聯是雙向的,但可以只限於一個方向,標示方式就是加上表示方向的箭頭
下:禁止關聯

若用一般的用語,上述的「促使」可以是對受控物件「送出訊息」、「執行其方法」、「呼叫其成員函式」等。具體的實作會讓請求方,用指向受控物件方法的參照或指標,來呼叫該方法。

有關聯的物件可以視為是依關聯中定義的角色英语role (computer science)來互動,前提是物件在目前活動狀態下,允許其他物件以此物件定義的角色與其互動。在關聯的情境中,可以用角色來區分二個相同類別的物件。角色說明了一物件在關聯中的公有層面[1]

關聯的任一端,可以有屬性的全部特徵:

  • 可以有multiplicity,會用「下限..上限」的方式標示其數量上的限制。
  • 可以有名稱。
  • 可以宣告可見性。
  • 可以表示關聯的一端是有排序的,或是唯一的。

參考資料

[编辑]
  1. ^ Rumbaugh, JR; et al. Object-oriented modeling and design需要免费注册. Prentice Hall. 1991. ISBN 0-13-630054-5.