資源描述:
《uml類(lèi)圖幾種關(guān)系的總結(jié)-學(xué)習(xí)資料二》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、UML中類(lèi)圖實(shí)例接口:空心圓+直線(唐老鴨類(lèi)實(shí)現(xiàn)了‘講人話’);依賴(lài):虛線+箭頭(動(dòng)物和空氣的關(guān)系);關(guān)聯(lián):實(shí)線+箭頭(企鵝需要知道氣候才遷移);聚合:空心四邊形+實(shí)線+箭頭(雁群和大雁的關(guān)系);合成/組合:實(shí)心四邊形+實(shí)線+箭頭(鳥(niǎo)和翅膀的關(guān)系);泛化/繼承:空心三角形+實(shí)線(動(dòng)物和鳥(niǎo)的繼承關(guān)系);實(shí)現(xiàn):空心三角形+虛線(實(shí)現(xiàn)大雁飛翔的接口);UML類(lèi)圖??解釋UML類(lèi)圖:1.??????首先看“動(dòng)物”矩形框,它代表一個(gè)類(lèi)。該類(lèi)圖分為三層,第一層顯示類(lèi)的名稱(chēng),如果是抽象類(lèi)就要用斜體顯示。第二層是類(lèi)的特性,
2、通常就是字段和屬性。第三層是類(lèi)的操作,通常是方法和行為。??注意前面的符號(hào),‘+’表示public,‘—’表示private,‘#’表示protected.??????????????????????????????????????????????2.??????“飛翔”矩形框表示一個(gè)接口圖,它與類(lèi)圖的區(qū)別主要是頂端有《interface》顯示,第一行是接口名稱(chēng),第二行是接口方法。接口還有另一種表示方法,俗稱(chēng)棒棒糖表示法,就是唐老鴨類(lèi)實(shí)現(xiàn)了“講人話”的接口。??????????????interfaceIF
3、ly????????????????????????????interfaceIlanguage??????????????????????????????{????????????????????????????????????????????{???voidFly();??????????????????????????????????voidSpeak();}???????????????????????????????????????????}3.??????動(dòng)物,鳥(niǎo),鴨,唐老鴨他們之間都是繼承的關(guān)
4、系,繼承關(guān)系用空心三角形+實(shí)現(xiàn)來(lái)表示。????????????????????4.“大雁”實(shí)現(xiàn)了“飛翔”接口。實(shí)現(xiàn)接口用空心三角形+虛線來(lái)表示。(注:下面的圖中應(yīng)為空心三角形)classBird:Animal??????????????????????classWideGoose:IFly{???????????????????????????????????????{???//繼承動(dòng)物類(lèi)?????????????????????????????????//實(shí)現(xiàn)飛翔接口}??????????????????
5、?????????????????????}5.??????企鵝與氣候有很大的關(guān)系,企鵝需要“知道”氣候的變化,需要“了解”氣候規(guī)律。當(dāng)一個(gè)類(lèi)“知道”另一個(gè)類(lèi)時(shí),可以用關(guān)聯(lián)(association)關(guān)系。關(guān)聯(lián)關(guān)系用實(shí)線箭頭來(lái)表示。???????classPenguin:Bird{???privateClimateclimate;//在企鵝Penguin中,引用到氣候Climate對(duì)象}6.??????“大雁”和“雁群”這兩個(gè)類(lèi)。大雁是群居動(dòng)物,每只大雁都屬于一個(gè)雁群,一個(gè)雁群可以有多只大雁。所以它們之間就滿
6、足聚合(Aggregation)關(guān)系。聚合表示一種弱的“擁有”關(guān)系,體現(xiàn)的是A對(duì)象可以包含B對(duì)象,但B對(duì)象不是A對(duì)象的一部分。聚合關(guān)系用空心的菱形+實(shí)線箭頭表示。????classWideGooseAggregate{???privateWideGoose[]arrayWideGoose;???//在雁群WideGooseAggregate類(lèi)中,有大雁數(shù)組對(duì)象arrayWideGoose}7.??????“鳥(niǎo)”和“翅膀”這兩個(gè)類(lèi)。鳥(niǎo)和翅膀似整體和部分的關(guān)系,并且翅膀和鳥(niǎo)的生命周期是相同的,在這里鳥(niǎo)和其翅膀就
7、是合成關(guān)系。合成(composition)是一種強(qiáng)的“擁有”關(guān)系,體現(xiàn)了嚴(yán)格的部分和整體的關(guān)系,部分和整體的生命周期一樣。合成關(guān)系用實(shí)心的的菱形+實(shí)線箭頭來(lái)表示。另外,合成關(guān)系的連線兩端還有一個(gè)數(shù)字“1”和數(shù)字“2”,,這被稱(chēng)為基數(shù)。表明這一端的類(lèi)可以有幾個(gè)實(shí)例,很顯然,一個(gè)鳥(niǎo)應(yīng)該有兩支翅膀。如果一個(gè)類(lèi)可能有無(wú)數(shù)個(gè)實(shí)例,則就用“n”來(lái)表示。關(guān)聯(lián)關(guān)系,聚合關(guān)系也可以有基數(shù)的。classBird{??privateWingwing;??publicBird()??{?????wing=newWing();???
8、?//在鳥(niǎo)Bird類(lèi)中,初始化時(shí),實(shí)例化翅膀Wing,它們之間同時(shí)生成??}}8.??????“動(dòng)物”、“氧氣”與“水”之間。動(dòng)物有幾大特征,比如有新陳代謝,能繁殖。而動(dòng)物要有生命,需要氧氣,水以及食物等。也就是說(shuō)動(dòng)物依賴(lài)于氧氣和水。它們之間是依賴(lài)關(guān)系(Dependency),用虛線箭頭來(lái)表示。abstractclassAnimal{???publicbolism(Oxygenoxygen,Waterwater)