一、首先了解類圖各個區(qū)域代表的含義

假設現(xiàn)在有孫悟空和豬八戒兩個類,可以看到他們有共同的屬性和方法,孫悟空則多了特定的屬性的方法,goldBand屬性就表示他的金箍,headAche方法就表示被念咒的時候會頭痛

假設此時增加一個白龍馬的類,那么他同樣也有名字、年齡等相同屬性,這在繪制UML類圖或者編寫代碼的時候顯然是一些重復的操作,所以可以把這些共同的特征抽象出來。
二、連接線的含義
在uml中是有很多類連接在一塊的,所以還要了解一下類與類之間連線類型的含義:

依賴的連接線用:“- - - - ->”表示,箭頭指向誰就是依賴誰
關聯(lián)的連接線也用:“——>”表示,指向誰就是關聯(lián)誰
三、了解一下各個關系的概念:
依賴(Dependency)關系是類與類之間的聯(lián)接。依賴關系表示一個類依賴于另一個類的定義。例如,一個人(Person)可以買車(car)和房子(House),Person類依賴于Car類和House類的定義,因為Person類引用了Car和House。與關聯(lián)不同的是,Person類里并沒有Car和House類型的屬性,Car和House的實例是以參量的方式傳入到buy()方法中去的。一般而言,依賴關系在Java語言中體現(xiàn)為局域變量、方法的形參,或者對靜態(tài)方法的調(diào)用。
關聯(lián)(Association)關系是類與類之間的聯(lián)接,它使一個類知道另一個類的屬性和方法。關聯(lián)可以是雙向的,也可以是單向的。在Java語言中,關聯(lián)關系一般使用成員變量來實現(xiàn)。
聚合(Aggregation) 關系是關聯(lián)關系的一種,是強的關聯(lián)關系。聚合是整體和個體之間的關系。例如,汽車類與引擎類、輪胎類,以及其它的零件類之間的關系便整體和個體的關系。與關聯(lián)關系一樣,聚合關系也是通過實例變量實現(xiàn)的。但是關聯(lián)關系所涉及的兩個類是處在同一層次上的,而在聚合關系中,兩個類是處在不平等層次上的,一個代表整體,另一個代表部分。
組合(Composition) 關系是關聯(lián)關系的一種,是比聚合關系強的關系。它要求普通的聚合關系中代表整體的對象負責代表部分對象的生命周期,組合關系是不能共享的。代表整體的對象需要負責保持部分對象和存活,在一些情況下將負責代表部分的對象湮滅掉。代表整體的對象可以將代表部分的對象傳遞給另一個對象,由后者負責此對象的生命周期。換言之,代表部分的對象在每一個時刻只能與一個對象發(fā)生組合關系,由后者排他地負責生命周期。部分和整體的生命周期一樣?!浴禞ava面向?qū)ο缶幊獭罚髡撸簩O衛(wèi)琴
四、各個關系在UML中的表示
1、繼承(Inheritance)關系。Animal此時可作為抽象類,在uml圖中可以用斜體“Animal”表示,或者“《Animal》”

2、關聯(lián)關系,孫悟空吃香蕉

3、聚合關系,聚合是整體和個體之間的關系。比如臺式電腦

臺式電腦是整體,鍵盤或者鼠標是個體,個體可以脫離整體獨立存在。
4、組合關系

如果把車站看作一個整體,也候車廳與洗手間看成個體的話,那么組合關系就表示 個體不能存在于整體之外,因為如果車站被拆掉的話,候車廳與服務臺也沒有存在的必要。
參考:https://www.cnblogs.com/meishibiexuejava/p/8551061.html
參考:https://www.cnblogs.com/lsgxeva/p/7773190.html