UML中的6大關係相關英文及音標:html
依賴關係 數組 |
dependency -------->函數 |
關聯關係url |
association ______>spa |
聚合關係指針 |
aggregation ______◇htm |
組合關係對象 |
Composition______◆blog |
實現繼承 |
realization ------△ |
泛化 |
generalization △---------- |
UML中的6大關係簡單解釋:
注意:泛化關係和實現關係又統稱爲通常關係;
總之:通常關係表現爲繼承或實現(is a),關聯關係、聚合關係、合成/組合關係表現爲成員變量(has a),依賴關係表現爲函數中的參數(use a);
UML中的6大關係詳細說明:
1、關聯關係:
含義:類與類之間的連結,關聯關係使一個類知道另一個類的屬性和方法;一般含有「知道」,「瞭解」的含義
體現:在C#中,關聯關係是經過成員變量來實現的;
方向:雙向或單向;
圖示:實線 + 箭頭;箭頭指向被關聯的類;
2、依賴關係:
含義:是類與類之間的鏈接,表示一個類依賴於另一個類的定義;依賴關係僅僅描述了類與類之間的一種使用與被使用的關係;
體現:在C#中體現爲局部變量、方法/函數的參數或者是對靜態方法的調用;
方向:單向;
圖示:虛線 + 箭頭;
舉例:人依賴於水和空氣;汽車依賴汽油
3、聚合關係:
含義:是關聯關係的一種,是一種強關聯關係;聚合關係是總體和個體/部分之間的關係;關聯關係的兩個類處於同一個層次上,而聚合關係的兩個類處於不一樣的層次上,一個是總體,一個是個體/部分;在聚合關係中,表明個體/部分的對象有可能會被多個表明總體的對象所共享;
體現:C++中,聚合關係經過將被聚合者的(數組)指針做爲內部成員來實現的;
方向:單向;
圖示:空心菱形 + 實線 + 箭頭;箭頭指向被聚合的類,也就是說,箭頭指向個體/部分;
舉例:鴨羣與鴨子具備聚合關係;汽車由引擎、輪胎以及其它零件組成,由於汽車壞掉了,沒有壞掉的引擎,輪胎和其餘零件還能夠繼續使用。
4、組合關係:
含義:它也是關聯關係的一種,但它是比聚合關係更強的關係.組合關係要求聚合關係中表明總體的對象要負責表明個體/部分的對象的整個生命週期;組合關係不能共享;在組合關係中,若是表明總體的對象被銷燬或破壞,那麼表明個體/部分的對象也必定會被銷燬或破壞,而聚在合關係中,表明個體/部分的對象則有可能被多個表明總體的對象所共享,而不必定會隨着某個表明總體的對象被銷燬或破壞而被銷燬或破壞;
體現:在C#中,組合關係是經過成員變量來實現的;
方向:單向;
圖示:實心菱形 + 實線 + 箭頭;箭頭指向表明個體/部分的對象,也就是被組合的類的對象;
舉例:一我的由頭、四肢、等各類器官組成,由於人與這些器官具備相同的生命週期,人死了,這些器官也掛了;
5、泛化關係:
含義:它表示一個更泛化的元素和一個更具體的元素之間的關係;也就是一般所說的類的繼承關係;
體現:在C#中,泛化關係經過類的繼承來實現的;
方向:單向;子類繼承父類;
圖示:空心箭頭 + 實線;箭頭指向父類;
舉例:動物下面能夠分爲哺乳動物,脊椎動物,爬行動物等
六、實現關係: 含義:它指定了兩個實體之間的一份合同;即:一個實體定義一份合同,另一個實體則保證履行該合同; 體現:在C#中,實現關係經過類實現接口來實現的,即:一個類實現某個接口; 方向:單向;子類實現接口; 圖示:空心箭頭 + 虛線;箭頭指接口向接口; 舉例:唐老鴨(對象)會說話(接口),由於通常鴨子不會說話,因此不會將說話這個方法給通常的鴨子帶上;超人(對象)會飛(接口)