【建模】UML類關係分析

一、UML類關係分析

        1、關聯(asociation)

              一般是一方擁有另一方對象的指針。箭頭的方向是訪問方向。

          

         2、聚合(Aggregation)和組合(Composition)

              聚合和關聯一般不做區分,聚合也是一方擁有另一方指針。

              組合是一方擁有另一方對象。

          

        3、泛化(Generalization) 

              是類的繼承。

             

        4、依賴(Dependency)   

                

                依賴一般是:類A一般是在把B當做局部變量、或者訪問B靜態方法、或者把B作爲函數的參數

       5、實現(Realization)

            一般是類繼承接口,讓類來實現接口中函數,在Java中常見。

          

       6、模板

            要表示成這個意思。參考【8】           

template<class T>
class A
{
       ....
}

       StarUML中,右鍵菜單添加

        
          

二、區別和聯繫

       1、關聯(asociation)和依賴(dependency)      

uml圖如下:

     

代碼如下:

public class Person //關聯
{
        Car car=new Car();//C++中則是 Car car;
}

public class Person //依賴

{
    public void buy(Car car)
   {
   }

}

他們之間的區別在於:關聯會在類Person存在一個屬性Car car;依賴只是在把Car的實例作爲Person成員函數的參數,或作爲函數的局部變量

虛箭頭,表示在類中要實例化一個類的對象【3】

實箭頭,表示在類中要引用一個類的對象。

三、UML狀態圖到C++代碼的轉換【10】

       

參考:1、UML中關聯和依賴的區別

2、UML類圖關係大全

【3】、UML中幾種類間關係

【4】、GOF設計模式中描述箭頭和三角的涵義

5、認識UML類圖元素_java之UML

6、UML類圖關係

7、類間四大關係

【8】、UML類圖關係大全

9、StarUML試用

10、從UML模型到C++代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章