UML類圖關係表示

類之間大致分爲5種關係:java

 

1,依賴關係(Dependency)app

單向,表示一個類依賴於另外一個類的定義,其中一個類的變化將影響另一個類,是一種「use a」關係this

若是A依賴於B,則B表現爲A的局部變量,方法參數,靜態方法調用等spa

[java] view plain copy.net

  1. public class Person {  
  2.     public void doSomething(){  
  3.         Card card = new Card();//局部變量  
  4.         ....  
  5.     }  
  6. }  

[java] view plain copy3d

  1. public class Person {  
  2.     public void doSomething(Card card){//方法參數  
  3.         ....  
  4.     }  
  5. }  

[java] view plain copy對象

  1. public class Person {  
  2.     public void doSomething(){  
  3.         int id = Card.getId();//靜態方法調用  
  4.         ...  
  5.     }  
  6. }  

 

2,關聯關係(Association)blog

單向或雙向(一般咱們須要避免使用雙向關聯關係),是一種"has a"關係,若是A單向關聯B,則能夠說A has a B,一般表現爲全局變量繼承

[java] view plain copy接口

  1. public class Person {  
  2.     public Phone phone;  
  3.       
  4.     public void setPhone(Phone phone){        
  5.         this.phone = phone;  
  6.     }  
  7.       
  8.     public Phone getPhone(){          
  9.         return phone;  
  10.     }  
  11. }  

 

3,聚合關係(Aggregation)

單向,關聯關係的一種,與關聯關係之間的區別是語義上的,關聯的兩個對象一般是平等的,聚合則通常不平等,有一種總體和局部的感受,實現上區別不大

Class由Student組成,其生命週期不一樣,總體不存在了,部分依然存在,當前Team解散了,人還在,還能夠加入別的組

[java] view plain copy

  1. public class Team {  
  2.     public Person person;  
  3.       
  4.     public Team(Person person){  
  5.         this.person = person;  
  6.     }  
  7. }  

 

4,組合關係(Composition)

單向,是一種強依賴的特殊聚合關係

Head,Body,Arm和Leg組合成People,其生命週期相同,若是總體不存在了,部分也將消亡

[java] view plain copy

  1. public class Person {  
  2.     public Head head;  
  3.     public Body body;  
  4.     public Arm arm;  
  5.     public Leg leg;  
  6.       
  7.     public Person(){  
  8.         head = new Head();  
  9.         body = new Body();  
  10.         arm = new Arm();  
  11.         leg = new Leg();  
  12.     }  
  13. }  

 

5,繼承關係(Inheritance)

類實現接口,類繼承抽象類,類繼承父類都屬於這種關係

能夠分得更細:

實現(Realization):類實現接口屬於這種關係

泛化(Generalization):即"is a"關係,類繼承抽象類,類繼承父類都屬於這種關係

參考文檔:

https://blog.csdn.net/a19881029/article/details/8957441

http://www.uml.org.cn/oobject/201609062.asp

相關文章
相關標籤/搜索