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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

两种重要的图——Snapshot diagram UML diagram

發(fā)布時(shí)間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两种重要的图——Snapshot diagram UML diagram 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Snapshot diagram (代碼快照?qǐng)D)

  • 用于描述程序運(yùn)行時(shí)的內(nèi)部狀態(tài),包括堆和棧的調(diào)用。
  • 刻畫(huà)各類(lèi)變化隨時(shí)間的變化,描述各類(lèi)概念如:原始類(lèi)型/對(duì)象類(lèi)型,不可變對(duì)象/可變對(duì)象,引用別名
  • 刻畫(huà)基本類(lèi)型的值:直接用一個(gè)箭頭指向它。
  • 刻畫(huà)對(duì)象類(lèi)型的值:用圈圈起來(lái),再用一個(gè)箭頭指向它,在圈的里面有一個(gè)label來(lái)標(biāo)識(shí)它的類(lèi)型。圈的內(nèi)部可以包含類(lèi)的各個(gè)屬性(基本類(lèi)型/對(duì)象類(lèi)型),一個(gè)箭頭由屬性的名字指向?qū)傩缘闹怠?br />
  • 不可變對(duì)象的值用雙線橢圓來(lái)表示,如String,下圖中s所指向的String對(duì)象就發(fā)生了改變。
  • 可變對(duì)象的值用單線橢圓來(lái)表示,可變對(duì)象內(nèi)部屬性的值可以發(fā)生改變,如StringBuilder。
  • 不可變的引用(用final修飾)用雙線箭頭來(lái)表示。如下圖中,id是不可變的,age是可變的。
  • 有的時(shí)候,變量的引用是不可變的,即只能指向這唯一一個(gè)對(duì)象,但這個(gè)對(duì)象的值是可以改變的,如final StringBuilder。
  • Example
    下面這段代碼的Snapshot diagram。
String s1 = new String("abc"); List<String> list = new ArrayList<>(); list.add(s1);s1 = s1.concat("d"); System.out.println(list.get(0));String s2 = s1.concat("e"); list.set(0, s2); System.out.println(list.get(0));

  • 一些復(fù)雜數(shù)據(jù)類(lèi)型的Snapshot diagram
    List:

Set:

Map:

UML類(lèi)圖

類(lèi)圖基礎(chǔ)屬性


+表示public
-表示private
#表示protected
~表示default,也就是包權(quán)限
_下劃線表示static
斜體表示抽象類(lèi)

在UML中,類(lèi)使用包含類(lèi)名、屬性和操作且?guī)в蟹指艟€的長(zhǎng)方形來(lái)表示,如定義一個(gè)Employee類(lèi),它包含屬性name、age和email,以及操作modifyInfo(),在UML類(lèi)圖中該類(lèi)如圖所示:

在UML類(lèi)圖中,類(lèi)一般由三部分組成:
類(lèi)名、屬性、操作
UML規(guī)定屬性的表示方式為:可見(jiàn)性 名稱(chēng):類(lèi)型 [ = 缺省值 ]
UML規(guī)定操作的表示方式為:可見(jiàn)性 名稱(chēng)(參數(shù)列表) [ : 返回類(lèi)型]

對(duì)于接口,可以在接口名的上方寫(xiě)<<interface>>

類(lèi)與類(lèi)之間關(guān)系

在UML類(lèi)圖中,常見(jiàn)的有以下幾種關(guān)系: 泛化(Generalization), 實(shí)現(xiàn)(Realization),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),依賴(lài)(Dependency)
下面是一幅從網(wǎng)上摘取的生動(dòng)形象的圖。

  • 關(guān)聯(lián)關(guān)系
    關(guān)聯(lián)關(guān)系通常將一個(gè)類(lèi)的對(duì)象作為另一個(gè)類(lèi)的成員變量。在使用類(lèi)圖表示關(guān)聯(lián)關(guān)系時(shí)可以在關(guān)聯(lián)線上標(biāo)注角色名,一般使用一個(gè)表示兩者之間關(guān)系的動(dòng)詞或者名詞表示角色名。
    如在一個(gè)登錄界面類(lèi)LoginForm中包含一個(gè)JButton類(lèi)型的注冊(cè)按鈕loginButton,它們之間可以表示為關(guān)聯(lián)關(guān)系,代碼實(shí)現(xiàn)時(shí)可以在LoginForm中定義一個(gè)名為loginButton的屬性對(duì)象,其類(lèi)型為JButton。

    關(guān)聯(lián)關(guān)系又分為單向關(guān)聯(lián)、雙向關(guān)聯(lián)、自關(guān)聯(lián)、聚合關(guān)系、組合關(guān)系。
    其中聚合關(guān)系和組合關(guān)系比較特別。
    聚合(Aggregation)關(guān)系表示整體與部分的關(guān)系。在聚合關(guān)系中,成員對(duì)象是整體對(duì)象的一部分,但是成員對(duì)象可以脫離整體對(duì)象獨(dú)立存在。在UML中,聚合關(guān)系用帶空心菱形的直線表示。例如:汽車(chē)發(fā)動(dòng)機(jī)(Engine)是汽車(chē)(Car)的組成部分,但是汽車(chē)發(fā)動(dòng)機(jī)可以獨(dú)立存在,因此,汽車(chē)和發(fā)動(dòng)機(jī)是聚合關(guān)系。

    在代碼實(shí)現(xiàn)聚合關(guān)系時(shí),成員對(duì)象通常作為構(gòu)造方法、Setter方法或業(yè)務(wù)方法的參數(shù)注入到整體對(duì)象中,上圖對(duì)應(yīng)的Java代碼片段如下:
  • public class Car {private Engine engine;//構(gòu)造注入public Car(Engine engine) {this.engine = engine;}//設(shè)值注入public void setEngine(Engine engine) {this.engine = engine;} } public class Engine { }

    組合(Composition)關(guān)系也表示類(lèi)之間整體和部分的關(guān)系,但是在組合關(guān)系中整體對(duì)象可以控制成員對(duì)象的生命周期,一旦整體對(duì)象不存在,成員對(duì)象也將不存在,成員對(duì)象與整體對(duì)象之間具有同生共死的關(guān)系。在UML中,組合關(guān)系用帶實(shí)心菱形的直線表示。例如:人的頭(Head)與嘴巴(Mouth),嘴巴是頭的組成部分之一,而且如果頭沒(méi)了,嘴巴也就沒(méi)了,因此頭和嘴巴是組合關(guān)系,如圖所示。

    public class Head {private Mouth mouth;public Head() {mouth = new Mouth(); //實(shí)例化成員類(lèi)}…… } public class Mouth {…… }

    泛化關(guān)系

    泛化有兩種——繼承、實(shí)現(xiàn)。
    類(lèi)與類(lèi)之間的繼承關(guān)系用實(shí)線和空心三角來(lái)表示。

    類(lèi)對(duì)接口的實(shí)現(xiàn)用虛線和空心三角來(lái)表示。

    總結(jié)

    以上是生活随笔為你收集整理的两种重要的图——Snapshot diagram UML diagram的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩精品一区二区三区在线 | 天天操天天干视频 | 国产无遮挡又黄又爽又色 | 欧美在线一区二区三区四区 | 国产美女免费看 | 久久国产乱子伦精品 | 肉嫁高柳家 高清 | 好吊妞精品 | 青青草视频在线观看免费 | 国产91精品一区二区绿帽 | 97久久人人超碰caoprom欧美 | 国产一区二区三区日韩 | 四虎午夜影院 | 亚洲高清毛片一区二区 | 欧美一区二区三区免 | 欧美高清在线视频 | 久久怡春院 | 一本色道久久综合亚洲精品小说 | 人妻少妇无码精品视频区 | 欧美一级淫片 | 亚洲大尺度视频 | 天天躁日日躁狠狠躁av | 国产精品无码久久久久一区二区 | 亚洲精品一区二区潘金莲 | 欧美性免费 | 国模无码视频一区二区三区 | 天堂资源 | 天天天色综合 | 亚洲综合激情网 | 黄色国产精品 | 色在线视频 | 超碰在线免费播放 | 性高湖久久久久久久久aaaaa | 奇米影视欧美 | 特级丰满少妇一级aaaa爱毛片 | 国产成人精品一区二区 | 亚洲琪琪| 亚洲AV综合色区无码国产播放 | 中国美女黄色一级片 | 求欧美精品网址 | 欧美黑人性xxx | 五月花婷婷 | 日韩一区二区三区视频 | 国产成人高清 | 欧美一区二区三区的 | 久久精品国产亚洲AV黑人 | 黄色小视频在线 | 成人在线免费观看网址 | 国产成人小视频在线观看 | 狠狠97| 亚洲国产视频一区二区三区 | 黄色小说在线免费观看 | 69中国xxxxxxxxx69 国产又爽又色 | 国产另类av | 自拍偷拍亚洲精品 | 51av视频 | 精品在线视频一区二区 | 欧美日韩成人一区二区在线观看 | 扒下小娇妻的内裤打屁股 | 91久久精品一区二区三区 | 日本老熟妇毛茸茸 | 免费观看久久 | 韩日毛片 | 99re色| 亚洲欧美国产精品专区久久 | 白峰美羽在线播放 | 欧美成人一区二区三区 | 午夜高潮视频 | 久久久久久久久久久久久久av | 欧美91精品久久久久国产性生爱 | 美女下部无遮挡 | 日韩中文字幕在线看 | 污网站在线播放 | 麻豆视频免费在线观看 | 亚洲天堂v | 日日麻批 | 激情五月激情 | 麻豆三级 | 亚洲高清在线视频 | 日韩色区| 熟女视频一区二区三区 | 日韩女人性猛交 | 韩国美女福利视频 | 解开乳罩喂领导吃奶 | 九九这里只有精品视频 | 免费毛片基地 | 毛片毛片毛片毛片毛片毛片毛片 | 最近更新中文字幕 | 日韩亚洲视频在线观看 | 欧美在线一区二区三区四区 | 亚洲欧美伦理 | 香港台湾日本三级大全 | 91久久精品www人人做人人爽 | av福利在线观看 | 国产精品老女人 | 大尺度床戏视频 | 亚洲清色 | 国产一级在线 | 在线视频久久 |