• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++編程失樂園

            致力于解決論壇的不足,探討C++的原理

            UML隨筆 之 類圖描述

            A.??????? 類圖

            類圖 用矩形框 表示, 性和操作分 列在分格中,若不需要表 達(dá)詳細(xì) 信息 ,分格可以省略。

            類間關(guān)

            類圖 中,除了需要描述 單獨 的名 性和操作外,我 們還 需要描述 聯(lián) 系,因 為沒 單獨 存在的, 它們 通常需要和 類協(xié) 作, 創(chuàng) 造比 單獨 工作更大的 語義 。在UML 類圖 中, 關(guān) 系用 框之 連線來 表示, 連線 上和 連線 頭處 的不同修 符表示不同的 關(guān) 系。 關(guān) 系有 承(泛化)、 關(guān)聯(lián) 、聚合和 合。

            1.??????? 承:指的是一 個類 稱為 承另外的一 個類 稱為 )的功能, 增加 自己的新功能的能力, 承是 類與類 最常 關(guān) 系。 類圖 承的表示方法是 拉出一 條閉 合的、 單鍵頭 (或三角形)的 實線 指向基 。例如, 3.2 出了MFC中CObject 和菜 單類 CMenu的 關(guān) 系。

            承在C++中呈 現(xiàn)為

            class B { }
            class A : public B{ }

            2.??????? 關(guān)聯(lián) :指的是模型元素之 的一 種語義聯(lián) 系,是 的一 很弱的 聯(lián) 系。 關(guān)聯(lián) 可以有方向,可以是 關(guān)聯(lián) ,也可以是 關(guān)聯(lián) 。可以 給關(guān)聯(lián) 加上 關(guān)聯(lián) 描述 關(guān)聯(lián) 的作用。 關(guān)聯(lián)兩 端的 也可以以某 角色 參與關(guān)聯(lián) ,角色可以具有多重性,表示可以有多少 個對 參與關(guān)聯(lián) 。可以通 過關(guān)聯(lián)類進(jìn) 一步描述 關(guān)聯(lián) 性、操作以及其他信息。 關(guān)聯(lián)類 條虛線與關(guān)聯(lián)連 接。 關(guān)聯(lián) 可以加上一些 束,以加強 關(guān)聯(lián) 的含
             
            關(guān)聯(lián) C++中呈 現(xiàn)為

            class A{...}
            class B{ ...}
            A::Function1(B &b) //或A::Function1(B b) //或A::Function1(B *b)

            即一 個類 另一 個類 方法的 參數(shù)

            3.??????? 聚合:指的是整體 部分的 關(guān) 系。通常在定 整體 后,再去分析 這個 整體 結(jié)構(gòu) 而找出一些 整體 就形成了聚合 關(guān) 系。例如一 航母 編隊 包括海空母 驅(qū)護(hù)艦 艇、 艦載飛 機及核 力攻 潛艇等。需求描述中“包含”、“ ”、“分 …部分”等 常意味著聚合 關(guān) 系。

            4.??????? 合:也表示 整體和部分的 關(guān) 系,但是 關(guān) 系中部分和整體具有 統(tǒng) 一的生存期。一旦整體 象不存在,部分 象也 不存在。部分 整體 象之 具有共生死的 關(guān) 系。

            聚合和 合的 區(qū)別 在于:聚合 關(guān) 系是“has-a” 關(guān) 系, 關(guān) 系是“contains-a” 關(guān) 系;聚合 關(guān) 系表示整體 部分的 關(guān) 系比 弱,而 合比 強;聚合 關(guān) 系中代表部分事物的 代表聚合事物的 象的生存期無 關(guān) ,一旦 除了聚合 象不一定就 除了代表部分事物的 象。 合中一旦 除了 象,同 也就 除了代表部分事物的 象。

            C++ 言中, 從實現(xiàn) 的角度 ,聚合可以表示

            class A {...}
            class B { A* a; .....}

            B包含 A的指

            合可表示

            class A{...}
            class B{ A a; ...}

            B包含 A的 象。

            準(zhǔn)確的UML 類圖 中用空心和 心菱形 聚合和 進(jìn) 行了 區(qū) 分。

            B.???????

            圖顯 示某 象和 象之 關(guān) 系,是 類圖 化,一 個對 可看成一 個類圖 的示例(example), 表示的是 例而不是 真實 。由于 象存在生命周期,因此 只能在系 統(tǒng) 某一 時間 段存在。

            無新的表示法(除了 象名下要加下 劃線 以外), 與類圖 中的表示法一 ,可以 認(rèn)為 ,只有 象而無 類圖 就是一 ”。
             
             
            中, 象名可以有三 表示形式:

            1) 象名:

            2):

            3) 象名

            ”看作 類圖 ,把 愛國 ”看作 ,很明 就是 類圖 的一 example而已。

            posted on 2007-01-21 12:36 木木頭 閱讀(874) 評論(0)  編輯 收藏 引用 所屬分類: UML工程

            導(dǎo)航

            <2007年1月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            統(tǒng)計

            常用鏈接

            留言簿(3)

            隨筆分類(29)

            搜索

            最新隨筆

            最新評論

            久久精品国产亚洲AV无码麻豆| 青青草原综合久久大伊人| 久久精品国产清高在天天线| 亚洲va国产va天堂va久久| 狠狠色丁香婷婷久久综合不卡| 欧美激情精品久久久久久久九九九 | 久久久久免费看成人影片| 久久激情五月丁香伊人| 午夜久久久久久禁播电影| 国产精品美女久久久久av爽| 亚洲精品无码专区久久久| 国产精品成人99久久久久91gav| 日产精品久久久久久久性色| 久久久久香蕉视频| 国产午夜精品理论片久久影视| 一本色综合久久| 久久精品国产亚洲Aⅴ蜜臀色欲| 日韩精品久久久久久久电影蜜臀| 久久精品成人| 97精品伊人久久久大香线蕉| 国内精品久久久久久久97牛牛| 四虎影视久久久免费观看| 国产精品伊人久久伊人电影 | 国产日韩久久久精品影院首页| 婷婷综合久久中文字幕蜜桃三电影 | 日韩AV无码久久一区二区| 97精品伊人久久大香线蕉| 婷婷久久综合九色综合九七| 国産精品久久久久久久| 99久久综合国产精品二区| 91精品国产91久久| 久久激情亚洲精品无码?V| 久久国产影院| 欧美久久亚洲精品| 亚洲精品WWW久久久久久| 久久久久久久免费视频| 无码精品久久一区二区三区| 久久人人青草97香蕉| 久久亚洲AV成人无码国产| 精品国际久久久久999波多野| 久久狠狠色狠狠色综合|