linux java uml_简单实用UML关系图解
一句話UML,再記不住就要DPP了:
關(guān)系
圖解
代碼
備注
1:繼承關(guān)系(Generalization)
2:實(shí)現(xiàn)關(guān)系(Realization)
3:依賴關(guān)系(Dependency)
方法的參數(shù)、局部變量、返回值
4:關(guān)聯(lián)關(guān)系(Association)
互為類屬性
5:方向關(guān)聯(lián)(DirectedAssociation)
類屬性
6:聚合關(guān)系(Aggregation)
類屬性
has a
7:組合關(guān)系(Composition)
類屬性
contains a
現(xiàn)在,稍作詳細(xì)點(diǎn),
一:繼承關(guān)系(Generalization):
Class B繼承與Class A
繼承指的是一個(gè)類(稱為子類、子接口)繼承另外的一個(gè)類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力,繼承是類與類或者接口與接口之間最常見的關(guān)系之一;在Java中此類關(guān)系通過關(guān)鍵字extends明確標(biāo)識,在設(shè)計(jì)時(shí)一般沒有爭議性;
二:實(shí)現(xiàn)關(guān)系(Realization):
Class A實(shí)現(xiàn)了Interface A
實(shí)現(xiàn)指的是一個(gè)class類實(shí)現(xiàn)interface接口(可以是多個(gè))的功能;實(shí)現(xiàn)是類與接口之間最常見的關(guān)系之一;在Java中此類關(guān)系通過關(guān)鍵字implements明確標(biāo)識,在設(shè)計(jì)時(shí)一般沒有爭議性;
三:依賴關(guān)系(Dependency):
ClassA依賴于ClassB
可以簡單的理解,就是一個(gè)類A使用到了另一個(gè)類B,而這種使用關(guān)系是具有偶然性的、臨時(shí)性的、非常弱的,但是B類的變化會影響到A;表現(xiàn)在代碼層面,為類B作為參數(shù)被類A在某個(gè)method方法中使用;
四:關(guān)聯(lián)關(guān)系(Association):
ClassA與ClassB相互關(guān)聯(lián)
這里的關(guān)聯(lián)關(guān)系分的比較細(xì),把相互關(guān)聯(lián)和有方向的關(guān)聯(lián)區(qū)分開了,相互他體現(xiàn)的是兩個(gè)類、或者類與接口之間語義級別的一種強(qiáng)依賴關(guān)系,是一種長期的穩(wěn)定的關(guān)系;表現(xiàn)在代碼層面,為被關(guān)聯(lián)類以類屬性的形式出現(xiàn)在關(guān)聯(lián)類中,也可能是關(guān)聯(lián)類引用了一個(gè)類型為被關(guān)聯(lián)類的全局變量;
五:有方向的關(guān)聯(lián)(DirectedAssociation):
ClassA關(guān)聯(lián)于ClassB
是關(guān)聯(lián)的一種特別形式,是單向的;表現(xiàn)在代碼層面,為被關(guān)聯(lián)類B以類屬性的形式出現(xiàn)在關(guān)聯(lián)類A中,也可能是關(guān)聯(lián)類A引用了一個(gè)類型為被關(guān)聯(lián)類B的全局變量;
六:聚合關(guān)系(Aggregation):
計(jì)算機(jī) has-a cpu
聚合是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是整體與部分、擁有的關(guān)系,即has-a的關(guān)系,此時(shí)整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬于多個(gè)整體對象,也可以為多個(gè)整體對象共享;比如計(jì)算機(jī)與CPU;表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分;
七:組合關(guān)系(Composition):
孕婦 contains-a 胎兒
組合也是關(guān)聯(lián)關(guān)系的一種特例,他體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強(qiáng),也稱為強(qiáng)聚合;他同樣體現(xiàn)整體與部分間的關(guān)系,但此時(shí)整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束;孕婦死了胎兒自然也就死了;表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分;
總結(jié)
以上是生活随笔為你收集整理的linux java uml_简单实用UML关系图解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双侧输卵管堵塞能不能做试管婴儿
- 下一篇: php实现视频转gif,在Linux上将