Ba mức quan hệ giữa object, ràng buộc vòng đời mạnh dần:
- Association (kết hợp): hai object có liên hệ và dùng nhau nhưng độc lập vòng đời. Vd:
TeachervàStudent— biết nhau nhưng tồn tại riêng. UML: đường thẳng. - Aggregation (tập hợp, "has-a" lỏng): quan hệ whole–part nhưng part sống độc lập với whole. Vd:
TeamchứaPlayer— giải tán team, cầu thủ vẫn còn và có thể sang team khác. UML: hình thoi rỗng phía whole. - Composition (hợp thành, "has-a" chặt): whole sở hữu part; part không tồn tại nếu thiếu whole, hủy whole thì hủy luôn part. Vd:
HousevàRoom— phá nhà thì phòng không còn. UML: hình thoi đặc.
Cách nhớ: hỏi "part có sống được khi whole biến mất không?" — có → aggregation, không → composition. Cả hai đều là "has-a"; association là quan hệ chung hơn.