• <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>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            用Visio畫(huà)UML圖 類(lèi)結(jié)構(gòu)圖(進(jìn)階篇)

            上一篇文章中說(shuō)明了類(lèi)結(jié)構(gòu)圖的基本畫(huà)法。要真正要完成實(shí)用的類(lèi)圖,還要有許多工作要做。

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

            繼承關(guān)系

            繼承關(guān)系是最容易理解的關(guān)系。畫(huà)成圖的話(huà)就像下面這樣。面向?qū)ο蟮恼f(shuō)法就是is-a關(guān)系。也就是說(shuō)Class2 is a Class1。在C++中我們說(shuō)Class2是Class1的派生類(lèi),或者說(shuō)Class1是Class2的基類(lèi)。clip_image002

            聚集和組成

            從容易理解的關(guān)系說(shuō)起.經(jīng)常有一個(gè)類(lèi)是另一格類(lèi)的數(shù)據(jù)成員的情況。在UML中表現(xiàn)為,聚集(aggregation)和組成(composition)。

            clip_image004clip_image005

            從圖上來(lái)看,這兩種關(guān)系都表現(xiàn)為一端是菱形的直線。其中有菱形的一端是整體,另外一端是部分。區(qū)別就是菱形是空心還是實(shí)心的。從C++曾序來(lái)看的話(huà),如果圖畫(huà)成實(shí)心菱形的話(huà),Class1就要負(fù)責(zé)Class2的創(chuàng)建和銷(xiāo)毀。更準(zhǔn)確的說(shuō),就是如果Class1不存在了,Class2也一定不存在。例如象下面的程序。

            class Class2

            {

            };

            class Class1

            {

                Class2 m_objClass2;

            }

            當(dāng)然也有下面的情況

            class Class2

            {

            };

            class Class1

            {

                Class1();

                ~Class1();

                Class2* m_pClass2Obj;

            };

            光看類(lèi)的聲明就不行了。這是就需要看類(lèi)的實(shí)現(xiàn)部分了。

            Class1::Class1()

            {

                m_pClass2Obj = new Class1; 

            }

            Class1::~Class1()

            {

                delete m_pClass2Obj;

                m_pClass2 = NULL;

            }

            組成(Composition)關(guān)系,如果在Class1的對(duì)象銷(xiāo)毀的時(shí)候,比如在析構(gòu)函數(shù)中沒(méi)有將數(shù)據(jù)成員銷(xiāo)毀的代碼,那么這種關(guān)系就是聚集(aggregation)關(guān)系。當(dāng)然,銷(xiāo)毀數(shù)據(jù)成員的代碼,會(huì)有很多種。

            依賴(lài)關(guān)系

            依賴(lài)關(guān)系就是在以個(gè)類(lèi)中使用了另一個(gè)類(lèi)。例如下面的代碼

            Class1::DoSomething()

            {

                Class3 obj;

                obj.DoClass3Work();

            }

            就是這樣的情況。畫(huà)成圖的話(huà)就像下面這樣。

            clip_image006

            posted on 2008-08-22 16:26 肥仔 閱讀(11381) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): UML

            久久精品国产亚洲av麻豆小说 | 国产一区二区三区久久| 日产精品久久久一区二区| 亚洲精品国产美女久久久| 久久99精品国产99久久6男男| 久久99精品免费一区二区| 人妻中文久久久久| 亚洲精品高清国产一线久久| 97精品国产97久久久久久免费| 亚洲国产成人精品女人久久久| 亚洲精品国产字幕久久不卡| 久久99久久无码毛片一区二区| 色8久久人人97超碰香蕉987| 精品久久久久久久中文字幕| 午夜欧美精品久久久久久久| 国产精品激情综合久久| 亚洲日本va中文字幕久久| 久久久久久久综合日本| 久久A级毛片免费观看| 综合久久一区二区三区 | 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久久久亚洲AV成人网人人软件| 久久亚洲日韩看片无码| 久久免费国产精品一区二区| 久久久久亚洲精品日久生情| 久久精品国产亚洲Aⅴ香蕉| 久久国产热精品波多野结衣AV| 久久国产免费直播| 99久久人妻无码精品系列| 国产色综合久久无码有码| 久久久久综合国产欧美一区二区 | 久久久久久久精品妇女99| 国产真实乱对白精彩久久| 国产精品九九九久久九九| 日产精品久久久久久久| 少妇精品久久久一区二区三区 | 久久毛片一区二区| 老司机午夜网站国内精品久久久久久久久 | 狠狠精品久久久无码中文字幕| 欧美与黑人午夜性猛交久久久| 国产成人香蕉久久久久|