成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實例解析四大UML類關系圖

開發 架構
UML類關系圖你是否熟悉,類與類之間的關系對于理解面向對象具有很重要的作用,本文就向大家簡單介紹一下,希望對大家有所幫助。

 本文和大家重點討論一下UML類關系圖的概念,主要包括類與類之間存在泛化,關聯,依賴和聚合四種關系,相信通過本節的介紹你對UML類關系圖一定會有深刻的認識。

UML類關系圖

類與類之間的關系對于理解面向對象具有很重要的作用,以前在面試的時候也經常被問到這個問題,在這里我就介紹一下。

類與類之間存在以下關系:

(1)泛化(Generalization)
(2)關聯(Association)
(3)依賴(Dependency)
(4)聚合(Aggregation)

UML圖與應用代碼例子:

1.泛化(Generalization)

[泛化]

UML類關系圖中泛化表示類與類之間的繼承關系,接口與接口之間的繼承關系,或類對接口的實現關系。一般化的關系是從子類指向父類的,與繼承或實現的方法相反。

[具體表現]

父類父類實例=new子類()
[UML圖]Animal類與Tiger類,Dog類的泛化關系

[代碼表現]

  1. classAnimal{}  
  2. classTigerextendsAnimal{}  
  3. publicclassTest  
  4. {  
  5. publicvoidtest()  
  6. {  
  7. Animala=newTiger();  
  8. }  
  9. }  
  10.  

 

2.依賴(Dependency)

[依賴]

UML類關系圖中對于兩個相對獨立的對象,當一個對象負責構造另一個對象的實例,或者依賴另一個對象的服務時,這兩個對象之間主要體現為依賴關系。

[具體表現]

依賴關系表現在局部變量,方法的參數,以及對靜態方法的調用

[現實例子]

比如說你要去擰螺絲,你是不是要借助(也就是依賴)螺絲刀(Screwdriver)來幫助你完成擰螺絲(screw)的工作

[UML表現]Person類與Screwdriver類的依賴關系

[代碼表現]
 

  1. publicclassPerson{  
  2. /**擰螺絲*/  
  3. publicvoidscrew(Screwdriverscrewdriver){  
  4. screwdriver.screw();  
  5. }  
  6. }  

#p#

 

3.關聯(Association)

[關聯]

UML類關系圖中對于兩個相對獨立的對象,當一個對象的實例與另一個對象的一些特定實例存在固定的對應關系時,這兩個對象之間為關聯關系。

[具體表現]

關聯關系是使用實例變量來實現

[現實例子]

比如客戶和訂單,每個訂單對應特定的客戶,每個客戶對應一些特定的訂單;再例如公司和員工,每個公司對應一些特定的員工,每個員工對應一特定的公司
[UML圖]公司和員工的關聯關系

[代碼表現]
 

  1. publicclassCompany{  
  2. privateEmployeeemployee;  
  3. publicEmployeegetEmployee(){  
  4. returnemployee;  
  5. }  
  6. publicvoidsetEmployee(Employeeemployee){  
  7. this.employee=employee;  
  8. }  
  9. //公司運作  
  10. publicvoidrun(){  
  11. employee.startWorking();  
  12. }  
  13. }  
  14. publicclassPerson{  
  15. /**擰螺絲*/  
  16. publicvoidscrew(Screwdriverscrewdriver){  
  17. screwdriver.screw();  
  18. }  
  19. }  

(4)聚合(Aggregation)

[聚合]
當對象A被加入到對象B中,成為對象B的組成部分時,對象B和對象A之間為聚集關系。UML類關系圖中聚合是關聯關系的一種,是較強的關聯關系,強調的是整體與部分之間的關系。

[具體表現]
與關聯關系一樣,聚合關系也是通過實例變量來實現這樣關系的。關聯關系和聚合關系來語法上是沒辦法區分的,從語義上才能更好的區分兩者的區別。

[UML類關系圖中關聯與聚合的區別]

(1)關聯關系所涉及的兩個對象是處在同一個層次上的。比如人和自行車就是一種關聯關系,而不是聚合關系,因為人不是由自行車組成的。
聚合關系涉及的兩個對象處于不平等的層次上,一個代表整體,一個代表部分。比如電腦和它的顯示器、鍵盤、主板以及內存就是聚集關系,因為主板是電腦的組成部分。
(2)對于具有聚集關系(尤其是強聚集關系)的兩個對象,整體對象會制約它的組成對象的生命周期。部分類的對象不能單獨存在,它的生命周期依賴于整體類的對象的生命周期,當整體消失,部分也就隨之消失。比如張三的電腦被偷了,那么電腦的所有組件也不存在了,除非張三事先把一些電腦的組件(比如硬盤和內存)拆了下來。

電腦和組件的聚合關系

[代碼表現]

 

  1. publicclassComputer{  
  2. privateCPUcpu;  
  3. publicCPUgetCPU(){  
  4. returncpu;  
  5. }  
  6. publicvoidsetCPU(CPUcpu){  
  7. this.cpu=cpu;  
  8. }  
  9. //開啟電腦  
  10. publicvoidstart(){  
  11. //cpu運作  
  12. cpu.run();  
  13. }  
  14. }  

 

【編輯推薦】

  1. 四大UML類關系圖揭秘
  2. 全面認識九種基本的UML模型圖
  3. UML類圖依賴關系和其他關系區別
  4. UML部署圖繪制及應用說明
  5. UML類圖元素及關系解析
責任編輯:佚名 來源: javaeye.com
相關推薦

2010-06-18 14:43:28

UML關系圖

2010-07-07 11:02:47

UML類圖關系

2010-07-05 09:34:45

UML類關系圖

2010-07-06 10:30:58

UML關系圖

2010-07-05 11:12:43

常用UML圖

2010-07-08 15:56:52

UML類圖依賴關系

2010-07-02 14:34:53

UML類圖

2010-07-01 14:13:51

UML時序圖

2010-06-11 18:09:26

UML對象圖

2010-07-09 10:45:11

UML類圖關系

2010-07-09 14:51:13

UML類設計原則

2010-07-09 15:41:23

UML類關系

2010-06-12 18:12:34

UML類圖關系

2010-06-29 11:00:25

UML類圖實例

2010-06-12 18:30:57

UML類圖關系

2010-06-18 14:56:15

UML綜合實例

2010-07-06 15:57:58

UML圖形

2010-07-12 11:23:09

UML類圖

2010-07-12 13:56:33

UML圖形

2010-06-13 17:05:54

UML關系
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线免费看 | 视频一区在线观看 | 91精品亚洲 | 色橹橹欧美在线观看视频高清 | 91视频精选| 91亚洲国产亚洲国产 | 男女污网站 | 国产一区二区三区久久 | 日韩精品在线免费观看 | 黑人精品xxx一区一二区 | 成年免费大片黄在线观看岛国 | 九九伦理电影 | 国产精品视频一区二区三区四蜜臂 | 日韩精品一区二区三区中文在线 | 国产亚洲精品精品国产亚洲综合 | 超碰成人免费 | 日韩1区 | 欧美亚洲免费 | 免费一区二区 | 天天干天天玩天天操 | 一区二区三区四区免费观看 | 国产乱一区二区三区视频 | 久久国产精99精产国高潮 | 国产一区二区在线视频 | 亚洲性免费| 91九色婷婷 | 免费能直接在线观看黄的视频 | 精品久久久999 | 亚洲精品久久久久久久久久久 | 成人影院在线观看 | 久久精品成人 | 激情五月婷婷 | 免费高清av| 国产操操操 | 亚洲精品视频在线观看免费 | 天堂在线91 | 一区二区三区四区五区在线视频 | 欧美 日韩 国产 成人 在线 | 特级特黄特色的免费大片 | 欧美视频1区 | 91精品国产91久久久久久吃药 |