日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UML类图实例

發布時間:2023/12/2 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML类图实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先是復習一下UML中九種圖的理解:http://xhf123456789plain.blog.163.com/blog/static/172880482201192222144421/

畫用例圖:http://xhf123456789plain.blog.163.com/blog/static/172880482201192221826110/

下面是類圖的實例(好像大話設計中有):

UML中類圖實例

接口:空心圓+直線(唐老鴨類實現了‘講人話’);
依賴:虛線+箭頭(動物和空氣的關系);
關聯:實線+箭頭(企鵝需要知道氣候才遷移);
聚合:空心四邊形+實線+箭頭(雁群和大雁的關系);
合成/組合:實心四邊形+實線+箭頭(鳥和翅膀的關系);
泛化/繼承:空心三角形+實線(動物和鳥的繼承關系);
實現:空心三角形+虛線(實現大雁飛翔的接口);

UML類圖??

?

解釋UML類圖:

1.??????首先看“動物”矩形框,它代表一個類。該類圖分為三層,第一層顯示類的名稱,如果是抽象類就要用斜體顯示。第二層是類的特性,通常就是字段和屬性。第三層是類的操作,通常是方法和行為。

?? 注意前面的符號,‘+’表示public, ‘—’ 表示private, ‘#’表示protected.???

??

2.??????“飛翔”矩形框表示一個接口圖,它與類圖的區別主要是頂端有《interface》顯示,第一行是接口名稱,第二行是接口方法。接口還有另一種表示方法,俗稱棒棒糖表示法,就是唐老鴨類實現了“講人話”的接口。

???????????????

interfaceIFly???????????????????????????? interfaceIlanguage??????????????????????????????
{???????????????????????????????????????????? {
???voidFly();?????????????????????????????????? void Speak();
}??????????????????????????????????????????? }

?

3.??????動物,鳥,鴨,唐老鴨他們之間都是繼承的關系,繼承關系用空心三角形+實現來表示。???

?????????????????

?

4.“大雁”實現了“飛翔”接口。實現接口用空心三角形+虛線來表示。(注:下面的圖中應為空心三角形)

?

classBird:Animal??????????????????????class WideGoose:IFly
{???????????????????????????????????????{
???//繼承動物類?????????????????????????????????//實現飛翔接口
}???????????????????????????????????????}

?

5.??????企鵝與氣候有很大的關系,企鵝需要“知道”氣候的變化,需要“了解”氣候規律。當一個類“知道”另一個類時,可以用關聯(association)關系。關聯關系用實線箭頭來表示。??

???????

class Penguin :Bird
{
???private Climateclimate;//在企鵝Penguin中,引用到氣候Climate對象
}

?

6.??????“大雁”和“雁群”這兩個類。大雁是群居動物,每只大雁都屬于一個雁群,一個雁群可以有多只大雁。所以它們之間就滿足聚合(Aggregation)關系。聚合表示一種弱的“擁有”關系,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。聚合關系用空心的菱形+ 實線箭頭表示。

????

?

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

?

7.??????“鳥”和“翅膀”這兩個類。鳥和翅膀似整體和部分的關系,并且翅膀和鳥的生命周期是相同的,在這里鳥和其翅膀就是合成關系。合成(composition)是一種強的“擁有”關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一樣。合成關系用實心的的菱形+實線箭頭來表示。另外,合成關系的連線兩端還有一個數字“1”和數字“2”,,這被稱為基數。表明這一端的類可以有幾個實例,很顯然,一個鳥應該有兩支翅膀。如果一個類可能有無數個實例,則就用“n”來表示。關聯關系,聚合關系也可以有基數的。

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

?

8.??????“動物”、“氧氣”與“水”之間。動物有幾大特征,比如有新陳代謝,能繁殖。而動物要有生命,需要氧氣,水以及食物等。也就是說動物依賴于氧氣和水。它們之間是依賴關系(Dependency),用虛線箭頭來表示。

?

abstract class Animal
{
???public bolism(Oxygenoxygen,Water water)
??? {
??? }?
}

總結

以上是生活随笔為你收集整理的UML类图实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。