衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UML類圖之間的關系

h1654155282.3538 ? 來源:陳翠 ? 2019-09-25 09:57 ? 次閱讀

UML中描述對象和類之間相互關系的方式包括:依賴(Dependency),關聯(Association),聚合(Aggregation),組合(Composition),泛化(Generalization),實現(Realization)等。

依賴(Dependency):元素A的變化會影響元素B,但反之不成立,那么B和A的關系是依賴關系,B依賴A;類屬關系和實現關系在語義上講也是依賴關系,但由于其有更特殊的用途,所以被單獨描述。uml中用帶箭頭的虛線表示Dependency關系,箭頭指向被依賴元素。

泛化(Generalization):通常所說的繼承(特殊個體iskindof一般個體)關系,不必多解釋了。uml中用帶空心箭頭的實線線表示Generalization關系,箭頭指向一般個體。

實現(Realize):元素A定義一個約定,元素B實現這個約定,則B和A的關系是Realize,BrealizeA。這個關系最常用于接口。uml中用空心箭頭和虛線表示Realize關系,箭頭指向定義約定的元素。

關聯(Association):元素間的結構化關系,是一種弱關系,被關聯的元素間通常可以被獨立的考慮。uml中用實線表示Association關系,箭頭指向被依賴元素。

聚合(Aggregation):關聯關系的一種特例,表示部分和整體(整體hasa部分)的關系。uml中用帶空心菱形頭的實線表示Aggregation關系,菱形頭指向整體。

組合(Composition):組合是聚合關系的變種,表示元素間更強的組合關系。如果是組合關系,如果整體被破壞則個體一定會被破壞,而聚合的個體則可能是被多個整體所共享的,不一定會隨著某個整體的破壞而被破壞。uml中用帶實心菱形頭的實線表示Composition關系,菱形頭指向整體。

其中依賴(Dependency)的關系最弱,而關聯(Association),聚合(Aggregation),組合(Composition)表示的關系依次增強。換言之關聯,聚合,組合都是依賴關系的一種,聚合是表明對象之間的整體與部分關系的關聯,而組合是表明整體與部分之間有相同生命周期關系的聚合。

而關聯與依賴的關系用一句話概括下來就是,依賴描述了對象之間的調用關系,而關聯描述了對象之間的結構關系。

UML類圖之間的關系

1、泛化(Generalization)

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

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

2、實現(Realization)

【實現關系】:是一種類與接口的關系,表示類是接口所有特征和行為的實現。

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

3、關聯(Association)

【關聯關系】:是一種擁有的關系,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。

【代碼體現】:成員變量

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

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

下圖為自身關聯:

4、聚合(Aggregation)

【聚合關系】:是整體與部分的關系,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關系,輪胎離開車仍然可以存在。

聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區分,必須考察具體的邏輯關系。

【代碼體現】:成員變量

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

5、組合(Composition)

【組合關系】:是整體與部分的關系,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關系,沒有公司就不存在部門。

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

【代碼體現】:成員變量

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

6、依賴(Dependency)

【依賴關系】:是一種使用的關系,即一個類的實現需要另一個類的協助,所以要盡量不使用雙向的互相依賴。

【代碼表現】:局部變量、方法的參數或者對靜態方法的調用

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

各種關系的強弱順序:

泛化=實現》組合》聚合》關聯》依賴

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UML
    UML
    +關注

    關注

    0

    文章

    122

    瀏覽量

    30902
  • UML建模
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6828
收藏 人收藏

    評論

    相關推薦

    UML詳解

    UML
    電子學習
    發布于 :2023年01月14日 10:12:47

    UML狀態和Petri網絡在測試用例生成的應用

    【作者】:陳志德;曾凡平;【來源】:《小型微型計算機系統》2010年03期【摘要】:分析和研究UML狀態、擴展狀態機和Petri網在測試用例生成的特點,提出結合三者優勢的測試用例
    發表于 04-24 09:52

    編寫電視TV,UML和說明

    編寫電視TV,UML和說明如下:注意:(1)電視只有在打開的狀態下才可以調音量和設置新頻道;(2)設置音量和頻道時,應該在規定的范圍,如音量值為1-7。解題要求:編寫測試
    發表于 10-29 06:09

    一文解析sal socket與其他socket之間關系

    1、sal socket與其他socket的關系結合結構體之間的引用關系,與下圖看;從 uml 對象
    發表于 06-28 17:50

    基于UML的考試管理系統設計

    文中著重解決UML在完成各階段任務中的應用、分析設計流程等問題,就與時序兩者設計次序進行探討。UML有利于各類人員
    發表于 12-22 17:14 ?35次下載
    基于<b class='flag-5'>UML</b>的考試管理系統設計

    時序關系

    和時序是在軟件系統設計中直接和程序代碼相關聯的,準確地說,程序代碼是由直接產生,而時
    發表于 10-29 11:21 ?6832次閱讀
    時序<b class='flag-5'>圖</b>和<b class='flag-5'>類</b><b class='flag-5'>圖</b>的<b class='flag-5'>關系</b>

    Uml建模三種模型_uml建模的步驟

    描述系統內部對象及其關系的靜態結構。模型由構建,圖中節點表示
    的頭像 發表于 09-25 09:51 ?1.6w次閱讀
    <b class='flag-5'>Uml</b>建模三種模型_<b class='flag-5'>uml</b>建模的步驟

    什么是UML?常見的UML工具有哪些?

    UML是統一建模語言,又稱標準建模語言。是對軟件設計開發過程可視化建模的一種語言。多應用在一些軟件系統工程上,有時在應用在機械系統和業務流程上有所應用。這種模型通常以圖表方式呈現。 UML狀態圖
    的頭像 發表于 06-22 14:10 ?4751次閱讀
    什么是<b class='flag-5'>UML</b><b class='flag-5'>圖</b>?常見的<b class='flag-5'>UML</b><b class='flag-5'>圖</b>工具有哪些?

    UML簡介與詳解

    本篇介紹了UML的基礎知識,包括2種和6種關系,并通過visio軟件,演示如何畫出一個UML
    的頭像 發表于 05-05 09:07 ?4225次閱讀
    <b class='flag-5'>UML</b>簡介與<b class='flag-5'>類</b><b class='flag-5'>圖</b>詳解

    利用UML()表示之間的6種關系

    在java以及其他的面向對象設計模式中,之間主要有6種關系,他們分別是:依賴、關聯、聚合、組合、繼承、實現。他們的耦合度依次增強
    的頭像 發表于 05-05 10:18 ?2587次閱讀
    利用<b class='flag-5'>UML</b>(<b class='flag-5'>圖</b>)表示<b class='flag-5'>類</b><b class='flag-5'>之間</b>的6種<b class='flag-5'>關系</b>

    UML相關基本知識介紹

    UML - Unified modeling language UML (統一建模語言),是一種用于軟件系統分析和設計的語 言工具, 用于幫助軟件開發人員進行思考和記錄思路的結果。簡單說,UML
    的頭像 發表于 05-05 10:22 ?688次閱讀
    <b class='flag-5'>UML</b>相關基本知識介紹

    UML學習筆記

    ,表示之間的聯系,如關聯、依賴、聚合等,也包括的屬性和操作,描述的是一種靜態
    的頭像 發表于 05-05 10:26 ?768次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>圖</b>學習筆記

    UML圖符號等詳細介紹

    UML中描述對象和之間相互關系的方式包括:依賴(Dependency),關聯(Association),聚合(Aggregation),組合(Composition),泛化(Gene
    的頭像 發表于 05-05 10:41 ?1072次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>類</b>圖符號等詳細介紹

    解析UML和時序

    這里不會將UML的各種元素都提到,我只想講講圖中各個之間關系; 能看懂圖中各個
    的頭像 發表于 05-05 11:03 ?744次閱讀
    解析<b class='flag-5'>UML</b><b class='flag-5'>類</b><b class='flag-5'>圖</b>和時序<b class='flag-5'>圖</b>

    UML時序詳解

    本篇介紹了UML時序的基礎知識,并通過visio繪制一個物聯網設備WIFI配網的UML時序實例,來介紹UML時序
    的頭像 發表于 05-16 09:09 ?2270次閱讀
    <b class='flag-5'>UML</b>時序<b class='flag-5'>圖</b>詳解
    大发888在线娱乐城合营商| 百家乐娱乐官网网| 澳门赌百家乐官网心法| 大发888网页多少| 投真钱百家乐必输吗| 网络百家乐官网怎样出千| 靖远县| 百家乐游戏开户网址| 百家乐官网老千| 网上百家乐官网有假的吗| 凯旋门娱乐城开户| 百家乐科学打| 百家乐博彩开户博彩通| 网上百家乐官网假| 武城县| 大发888下载34| 百家乐打水套利| 微信百家乐官网群二维码| 赌博中百家乐官网什么意思| 额敏县| 大发888官方c8| 网上赌百家乐的玩法技巧和规则| 2404这个房号 风水| 百家乐官网微笑玩法| 百家乐官网网站那个好| 88娱乐城1| 百家乐7人桌布| 娱乐城百家乐送白菜| 做生意的人早晨讲究| 稳赢百家乐官网的玩法技巧| 永利高百家乐官网信誉| 皇冠网店| 华商棋牌游戏| 百家乐百战百胜| 安阳百家乐赌博| 三元玄空24山坐向开门| 百家乐官网送18元彩金| 澳门百家乐官网走势图怎么看| 百家乐官网对子赔率| 百家乐赌博机| 在线玩轮盘|