StarUML使用與類之間的關系


StarUML使用

今天學習設計模式的時候需要畫UML類圖,所以來學習一下這個軟件

軟件界面

image-20200920100555322

繪圖工具區

image-20200920101009077

類組件的基本操作

image-20200920101551629

功能介紹:

1. 用來標識Class的可見性(默認為public)
2. 用來添加note的,比如:類的說明
3. 增加類的屬性
4. 增加類的操作方法。
5. 增加模板參數
6. 增加子類
7. 增加父類
8. 添加已有的接口
9. 添加需要的接口
10. 添加關聯
11. 添加聚合
12. 添加組合
13. 添加端口
14. 添加部件
15.增加Recption

類的關系介紹

1.依賴

image-20200920102631210

  • 類中用到了對方

  • 可以是類的成員屬性

  • 可以是方法的返回值類型

  • 可以是方法接受的參數類型

  • 可以是方法中使用到

2.泛化(繼承)

image-20200920103103551

  • 泛化關系其實就是繼承關系

  • 繼承關系用空心三角形+實線來表示

3.實現

image-20200920103813373

注意:

  • 一般情況下,實現接口用空心三角形+虛線來表示。
  • starUML用的是棒棒糖表示法,可能看起來不是很直觀,但是確實是實現關系。
  • PersonService為斜體,表示抽象。

4.關聯

關聯關系實際上就是類與類之間的聯系,他是依賴關系的特例

關聯具有導航性,即雙向關系或單向關系

關聯具有多重性,如 "1"(表示有且只有一個),"0..."(0個或多個),"0,1"(表示0個或一個),"n...m"(表示n到m個都可以),

"m...*"(表示至少m個)

//單向一對一
class IdCard {
}
class Person {
    private  IdCard idCard;
}
//多向一對一
class IdCard {
    private Person person;
}
class Person {
    private  IdCard idCard;
}

image-20200920110637480

  • 關聯關系用直線加箭頭實現

5.聚合

聚合關系表示的是整體和部分的關系,整體與部分可以分開。聚合關系是關聯關系的特例。聚合表示一種弱的擁有關系。

如:大雁是群居動物,每只大雁都屬於一個雁群,一個雁群可以有多只大雁。所以它們之間就滿足聚合關系。

體現的是A對象可以包含B對象,但B對象不是A對象的一部分,是has a的關系

class WideGooseAggregate{
    //在雁群WideGooseAggregate類中,有大雁數組對象arrayWideGoose
    private WideGoose[] arrayWideGoose;
}

image-20200920110928796

  • 聚合關系用空心的菱形+實線箭頭來表示

6.組合(合成)

也是整體與部分的關系,但是整體與部分不可以分開。是一種強的擁有關系,體現了嚴格的部分和整體關系,部分和整體的生命周期一樣。

如:鳥和翅膀的關系,因為他們是部分和整體的關系,並且翅膀和鳥的生命周期是相同的,合成關系用實心的菱形+實線箭頭來表示。

class Bird{
    private Wing wing;
    public Bird(){
        //在Bird類中,初始化時,實例化翅膀Wing,他們之間同時生成
        wing = new Wing();
    }
}
class wing{
    
}

image-20200920111745536


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM