最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET設(shè)計模式之UML類圖介紹

 更新時間:2022年05月07日 10:50:21   作者:springsnow  
這篇文章介紹了.NET設(shè)計模式之UML類圖,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、概述

UML類圖用來定義系統(tǒng)中的類,包括描述類的結(jié)構(gòu)和類之間的關(guān)系。類圖的主要作用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。

類圖的基本模型元素如下:

我們可以看到,一個類圖表示為長方形,分為3部分,最上面是類名,中間是類的屬性,下面是類的操作。描述信息使用 << >> 包裹。

類圖中的實體如下:

1、類名

正體字說明類是可被實例化的,斜體字說明類為抽象類。

2、屬性

如圖:

屬性一般通過如上的格式表示——<訪問權(quán)限><屬性名>:<屬性類型>=<初始值>

對于可見性 :  

  • +表示public,
  • -表示private,
  • #表示protected,
  • 沒有符號表示默認包訪問權(quán)限

(如果一個屬性只在類的內(nèi)部使用,一般稱為Attribute。若提供了相應的get、set方法,一般稱為Property)

3、方法

如圖:

方法一般通過如上格式表示——<訪問權(quán)限><方法名>:(<參數(shù)1名>:<參數(shù)1類型>,<參數(shù)2名>:<參數(shù)2類型>):<返回值類型>

靜態(tài)方法用下劃線表示。

抽象方法,整條操作都用斜體表示。

4、接口

接口是一系列操作的集合,它指定了提供的一系列服務。

  • 接口

  • 抽象類

抽象類和接口都是類名用斜體表示,接口還可以用一個圓圈表示。

二、關(guān)系

在UML類圖中,常見的有以下幾種關(guān)系:

  • 依賴(Dependency)
  • 關(guān)聯(lián)(Association)
  • 聚合(Aggregation)
  • 組合(Composition)
  • 泛化(Generalization)
  • 實現(xiàn)(Realization)

各種關(guān)系的強弱順序:

(耦合度依次增強)

依賴 < 關(guān)聯(lián) < 聚合 < 組合 < 泛化 < 實現(xiàn) 

1. 依賴(Dependency)

依賴關(guān)系是一種使用的關(guān)系,即一個類的實現(xiàn)需要另一個類的協(xié)助,所以要盡量不使用雙向的互相依賴.(偶然的弱關(guān)系)

【代碼表現(xiàn)】:局部變量、方法的參數(shù)或者對靜態(tài)方法的調(diào)用

【箭頭及指向】:帶箭頭的虛線,指向被使用者

2. 關(guān)聯(lián)(Association)

關(guān)聯(lián)關(guān)系是一種擁有的關(guān)系,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個箭頭或者沒有箭頭,單向的關(guān)聯(lián)有一個箭頭。例如:學生擁有課程實例。

【代碼體現(xiàn)】:成員變量

【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者

上圖中,老師與學生是雙向關(guān)聯(lián),老師有多名學生,學生也可能有多名老師。但學生與某課程間的關(guān)系為單向關(guān)聯(lián),一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。

下圖為自身關(guān)聯(lián):

3. 聚合(Aggregation)

聚合關(guān)系是整體與部分的關(guān)系,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關(guān)系,輪胎離開車仍然可以存在。(Has-A )

聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強的關(guān)聯(lián)關(guān)系;關(guān)聯(lián)和聚合在語法上無法區(qū)分,必須考察具體的邏輯關(guān)系。

【代碼體現(xiàn)】:成員變量

【箭頭及指向】:帶空心菱形的實心線,菱形指向整體

4. 組合(Composition)

組合關(guān)系是整體與部分的關(guān)系,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關(guān)系,沒有公司就不存在部門。。(Has-A )

組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強的關(guān)系,它要求普通的聚合關(guān)系中代表整體的對象負責代表部分的對象的生命周期。

【代碼體現(xiàn)】:成員變量

【箭頭及指向】:帶實心菱形的實線,菱形指向整體

5. 泛化(Generalization)

泛化關(guān)系是一種繼承關(guān)系,表示一般與特殊的關(guān)系,它指定了子類如何特化父類的所有特征和行為。例如:老虎是動物的一種,即有老虎的特性也有動物的共性。(IS-A)

【箭頭指向】:帶三角箭頭的實線,箭頭指向父類

6. 實現(xiàn)(Realization)

實現(xiàn)關(guān)系是一種類與接口的關(guān)系,表示類是接口所有特征和行為的實現(xiàn).例如:大燕是飛翔的關(guān)系。

【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口

三、應用舉例

下面這張UML圖,比較形象地展示了各種類圖關(guān)系:

到此這篇關(guān)于.NET設(shè)計模式之UML類圖的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

大连市| 太原市| 苗栗县| 铜陵市| 五莲县| 琼中| 阳信县| 德钦县| 富源县| 宜都市| 泽普县| 兰州市| 阳信县| 博罗县| 微博| 宾阳县| 克拉玛依市| 康乐县| 方山县| 泽州县| 泰宁县| 邵阳市| 买车| 瓮安县| 揭东县| 无极县| 泉州市| 望城县| 巩义市| 长海县| 延庆县| 娱乐| 丰镇市| 河西区| 富民县| 政和县| 芮城县| 民丰县| 元谋县| 盐城市| 忻州市|