面向物件設計類之間關係
阿新 • • 發佈:2019-01-10
1. 繼承 is-a
A繼承自B:用一條帶空心箭頭的實線表示。
只有當A是一個B時,才用繼承。例如,小轎車是一種車,別墅是一種房。
2. 實現 like a
A實現了B:用一條帶空心箭頭的虛線表示。
A具有B的特徵,A像一個B,用實現。例如,人是可比較的(根據身高,體重,年齡等),人可以實現可比較這一介面。
3. 依賴 uses-a
A依賴B:用一條帶箭頭的虛線表示。
A的方法裡面用到了B,通過構造方法或成員方法引數傳入。
4. 關聯
關聯關係預設不強調方向,表示物件間相互知道,用一條不帶箭頭的實線表示;
A關聯B:用一條帶箭頭的實線表示;
A的成員變數有B,表示A知道B,但B不知道A。
5. 聚合 has-a
A聚合了B,或者說A由B組成:用一條帶空心菱形箭頭的實線表示。
聚合關係用於表示實體物件之間的關係,表示整體由部分構成的語義;例如一個部門由多個員工組成。
與組合關係不同的是,整體和部分不是強依賴的,即使整體不存在了,部分仍然存在;例如, 部門撤銷了,員工不會消失,他們依然存在。
6. 組合
A組合了B,或者A由B組成:用一條帶實心菱形箭頭的實線表示。
與聚合關係一樣,組合關係同樣表示整體由部分構成的語義;比如公司由多個部門組成。
但組合關係是一種強依賴的特殊聚合關係,如果整體不存在了,則部分也不存在了;例如, 公司不存在了,部門也將不存在。