UML中的一些區別

來源:互聯網
上載者:User
 關聯(Association)於依賴(Dependency)的區別class A...{
   public B b=new B();
   A()...{
    }
    public void somefun()...{
       C c = new C();
    }
}

其中:
public B b=new B();為關聯
C c = new C();為依賴



依賴一般的表現方法是方法的局部變數,或者是方法內對靜態方法的引用!
關聯一般的表現方法是對象的全域變數!

依賴:
class A
...{
   void methodA()
   ...{
       B b = new B();
       b.methodB(); 
   }
}
關聯:
class A
...{
   B b = new B();
   void methodA()
   ...{
      b.methodB();
   }
}

UML類圖元素::::http://uml.chinaitlab.com/UML/17681.html

彙總和組合的區別在於:彙總關係是“has-a”關係,組合關係是“contains-a”關係;彙總關係表示整體與部分的關係比較弱,而組合比較強;聚 合關係中代表部分事物的對象與代表彙總事物的對象的生存期無關,一旦刪除了彙總對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時也 就刪除了代表部分事物的對象。
   我們用淺顯的例子來說明彙總和組合的區別。“國破家亡”,國滅了,家自然也沒有了,“國”和“家”顯然也是組合關係。而相反的,電腦和它的外設之間就是 彙總關係,因為它們之間的關係相對鬆散,電腦沒了,外設還可以獨立存在,還可以接在別的電腦上。在彙總關係中,部分可以獨立於彙總而存在,部分的所有 權也可以由幾個彙總來共用,比如印表機就可以在辦公室內被廣大同事共用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.