淺談UML類圖中類之間的5種關系

什么是UML類圖波闹?

類圖顯示了一組類、接口涛碑、協(xié)作以及他們之間的關系精堕。在UML中問題域最終要被逐步轉化,通過類來建模蒲障,通過編程語言構建這些類從而實現(xiàn)系統(tǒng)歹篓。類加上他們之間的關系就構成了類圖,類圖中還可以包含接口晌涕、包等元素滋捶,也可以包括對象、鏈等實例余黎。

類與類之間的關系

類與類之間的關系可以根據(jù)關系的強度依次分為以下五種:

依賴關系(Dependency)---關聯(lián)關系(Association)---聚合(Aggregation)---組合(Composition)---泛化(Generalization)

1. 依賴關系

依賴關系是五種關系中耦合最小的一種關系重窟。使用虛線加箭頭表示,如下圖所示:

代碼:

public class Person {  
    public void Call(){  
        Phone phone = new Phone();  
    }  
}  


public class Phone {  
}  

解釋:Person 和 Phone之間是沒有關系的惧财,但是由于偶爾的需要巡扇,Person需要使用Phone,在Person類中的具體方法中需要實例化Phone,這時Person就依賴于Phone.持有Phone類的是Person類的一個方法垮衷,而不是Person類厅翔,這點是最重要的。

2.關聯(lián)關系

關聯(lián)關系是實線加箭頭表示搀突。表示類之間的關系比依賴要強刀闷,如下圖所示:

代碼:

public class Person {  
    //頭部是人的一個屬性  
    public Head head;  

    public Person() {  
    }  
}  

public class Head {  
    public Head() {  
    }  
}  

解釋:Head是作為Person類的一個內部屬性來使用,一旦實例化了Person類仰迁,同時也實例化了一個Head實例甸昏,所以他們的依賴性更強。與關聯(lián)最大的區(qū)別是:依賴時是在類的內部具體方法中使用到另外一個類徐许,而關聯(lián)則是作為內部屬性來用施蜜,依賴關系僅當具體方法被調用時才會實例化,比如剛才的Person只有打電話時才調用Phone實例化雌隅,而關聯(lián)是在new一個Person時就同時實例化了一個Head類來作為Person的內部屬性.

3.聚合關系

聚合關系通過一個空心的菱形加箭頭表示翻默,如下圖所示:

代碼:

public class PersonGroup {  
    public Person person;  

    //將person作為構造方法的參數(shù)傳進去  
    public PersonGroup(Person person) {  
        this.person = person;  
    }  
}  

public class Person {  
    public Person() {  
    }  
}  

解釋:Person類是PersonGroup構造方法的參數(shù),因此可以Person類可以完全脫離PersonGroup類而存在恰起,不會因為PersonGroup實例的消亡而消亡修械,就像現(xiàn)實生活中,人不會因為脫離人群就掛了...

4.組合關系

組合關系通過一個實心的菱形加箭頭表示检盼,如下圖所示:

代碼:

public class Person {  
    public Foot foot;  

    public Person() {  
        //在構造方法中實例化  
        foot = new Foot();  
    }  
}  

public class Foot {  
    public Foot() {  
    }  
}  

解釋:

Foot類是在Person類的構造方法中才被具體實例化肯污,一旦Person實例生成,則Foot實例也生成,當Person實例消亡仇箱,其Foot實例也消亡县恕,就像現(xiàn)實生活中,生成一個人剂桥,并定會伴隨著腳的生成忠烛,但是如果那個人掛了,它的腳自然而然也就...(怎么聽著怪怪-.-)

5.泛化關系

泛化關系通常包含類與類之間的繼承關系和類與接口實現(xiàn)關系权逗,如下圖所示:

繼承:

接口:

總結:以前一直對它們之間的區(qū)別模模糊糊美尸,通過查閱和總結寫出來的個人經(jīng)驗,希望對大家的理解也有所幫助

原文地址: 淺談UML類圖中類之間的5種關系

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末斟薇,一起剝皮案震驚了整個濱河市师坎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堪滨,老刑警劉巖胯陋,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異袱箱,居然都是意外死亡遏乔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門发笔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盟萨,“玉大人,你說我怎么就攤上這事了讨∧砑ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵前计,是天一觀的道長胞谭。 經(jīng)常有香客問我,道長残炮,這世上最難降的妖魔是什么韭赘? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任缩滨,我火速辦了婚禮势就,結果婚禮上,老公的妹妹穿的比我還像新娘脉漏。我一直安慰自己苞冯,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布侧巨。 她就那樣靜靜地躺著舅锄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪司忱。 梳的紋絲不亂的頭發(fā)上皇忿,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天畴蹭,我揣著相機與錄音,去河邊找鬼鳍烁。 笑死叨襟,一個胖子當著我的面吹牛,可吹牛的內容都是我干的幔荒。 我是一名探鬼主播糊闽,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼爹梁!你這毒婦竟也來了右犹?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姚垃,失蹤者是張志新(化名)和其女友劉穎念链,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體积糯,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡钓账,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了絮宁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梆暮。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绍昂,靈堂內的尸體忽然破棺而出啦粹,到底是詐尸還是另有隱情,我是刑警寧澤窘游,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布唠椭,位于F島的核電站,受9級特大地震影響忍饰,放射性物質發(fā)生泄漏贪嫂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一艾蓝、第九天 我趴在偏房一處隱蔽的房頂上張望力崇。 院中可真熱鬧,春花似錦赢织、人聲如沸亮靴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茧吊。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搓侄,已是汗流浹背瞄桨。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讶踪,地道東北人讲婚。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像俊柔,于是被迫代替她去往敵國和親筹麸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容

  • 在UML 2.0的13種圖形中雏婶,類圖是使用頻率最高的UML圖之一物赶。Martin Fowler在其著作《UML Di...
    雷雷_zll閱讀 13,252評論 0 14
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)留晚,斷路器酵紫,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • 曾經(jīng)嘲諷別人努力沒回報 然而卻沒有回頭看看自己 有風的地方更適合飛翔 有時候現(xiàn)實又不是這樣的 ...
    寧孤獨不辜負閱讀 180評論 0 1
  • 不帶手機出不了門,因為會失去安全感错维;買不起房子奖地,擔心將來會不會因此變成“萬年單身狗”;買了很多書沒有時間看...
    朱朱的餐具閱讀 257評論 3 10