一、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中關聯和依賴的區別
【3】、UML中幾種類間關係
6、UML類圖關係
7、類間四大關係
【8】、UML類圖關係大全
10、從UML模型到C++代碼