<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    紅知博客

    知其然,亦知其所以然
    posts - 32, comments - 35, trackbacks - 0, articles - 0

    關(guān)聯(lián)--依賴、組合--聚合   聯(lián)系與區(qū)別:

    依賴是比關(guān)聯(lián)弱的關(guān)系
    ,關(guān)聯(lián)代表一種結(jié)構(gòu)化的關(guān)系,體現(xiàn)在生成的代碼中,以java為例:  
      若類A單向關(guān)聯(lián)指向類B,則在類A中存在一個屬性B   b。  
      若類A依賴類B,則不會有這個屬性,類B的實例可能存在于某個方法調(diào)用的參數(shù)中,或某個方法的局部變量中。


    例如代碼:

         依賴----存在于某個方法調(diào)用的參數(shù)中,或某個方法的局部變量中。

    Person類與Screwdriver類的依賴關(guān)系

    [代碼表現(xiàn)]

    public class Person{   
        /** 擰螺絲 */  
        public void screw(Screwdriver screwdriver){   
            screwdriver.screw();   
        }   
    }   

        關(guān)聯(lián):---存在一個屬性

    公司(Company)和員工(Employee)的關(guān)聯(lián)關(guān)系

    [代碼表現(xiàn)]
    public class Company{   
        private Employee employee;   
        public Employee getEmployee(){   
            return employee;   
        }   
        public void setEmployee(Employee employee){   
            this.employee=employee;   
        }   
        //公司運作   
        public void run(){   
            employee.startWorking();   
        }   
    }  

        
        聚合: 空心菱形加實線箭頭表示
     表示C9聚合C10,但是C10可以離開C9而獨立存在(獨立存在的意思是在某個應用的問題域中這個類的存在有意義。這句話怎么解,請看下面組合里的解釋)。
     同構(gòu)性,主體和部分不具有生命期的一致性

    課程組可由多個學生組成,課程組撤消了,學生還活得好好的,這是聚合。


        組合(也有人稱為包容):一般是實心菱形加實線箭頭表示
     異構(gòu)性,部分和主體具有生命期上的一致性

    表示的是C8被C7包容,而且C8不能離開C7而獨立存在。但這是視問題域而定的,例如在關(guān)心汽車的領(lǐng)域里,輪胎是一定要組合在汽車類中的,因為它離開了汽車就沒有意義了。但是在賣輪胎的店鋪業(yè)務里,就算輪胎離開了汽車,它也是有意義的,這就可以用聚合了。在《敏捷開發(fā)》中還說到,A組合B,則A需要知道B的生存周期,即可能A負責生成或者釋放B,或者A通過某種途徑知道B的生成和釋放。

    組合的例子:你顯示屏上的瀏覽器窗口,關(guān)閉瀏覽器,上面的按紐死掉不見了,這是組合(再打開一個瀏覽窗口,按紐已經(jīng)不是原來的了)。

     


    Feedback

    # re: UML 知識:關(guān)聯(lián)--依賴、組合--聚合  回復  更多評論   

    2007-09-28 16:25 by 千里冰封
    一直想學UML,但是都沒有學好

    # re: UML 知識:關(guān)聯(lián)--依賴、組合--聚合  回復  更多評論   

    2008-04-21 22:28 by ROTAPPLE
    你沒解釋關(guān)聯(lián).

    # re: UML 知識:關(guān)聯(lián)--依賴、組合--聚合  回復  更多評論   

    2008-04-22 12:54 by rotApple
    依賴: 必須要那個類來在一個方法里面使用.
    關(guān)聯(lián): 我有你,你也有我. 或單向, 而且彼此作為彼此的主要操作對象.
    聚合: 生命期, 不同時死亡
    組合: 生命期, 同時死亡

    以上是我的理解, 但我覺得我理解得太片面了. 而且我對依賴和關(guān)聯(lián)的理解總是很模糊, 請博主教教我好嗎? 我的MSN:rot-apple@hotmail.com我的郵箱:ken-chef@163.com

    如果可能的話希望可以收到你的郵件, 十分感謝!

    # re: UML 知識:關(guān)聯(lián)--依賴、組合--聚合  回復  更多評論   

    2009-08-04 10:53 by mamajinco
    看完這個 徹底蒙了
    因為我覺得你把有的概念弄混了

    # re: UML 知識:關(guān)聯(lián)--依賴、組合--聚合  回復  更多評論   

    2011-11-24 00:27 by caoshengquan
    關(guān)聯(lián)關(guān)系是統(tǒng)稱,關(guān)聯(lián)關(guān)系分組合和聚合,
    其中聚合表示has-a的關(guān)系,組合是contains-a的關(guān)系。即聚合只是簡單的包含,組合是強關(guān)聯(lián),必須包含。
    例如人和大腦就組合,人和衣服就是聚合

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    我要啦免费统计
    主站蜘蛛池模板: 亚洲成无码人在线观看| 又黄又爽无遮挡免费视频| 亚洲AV无码国产精品麻豆天美| 日本中文字幕免费看| 亚洲天堂一区二区三区四区| 夜夜爽妓女8888视频免费观看| 久久久无码精品亚洲日韩按摩| 国产亚洲精品无码专区| 国产成人精品123区免费视频| 亚洲一区二区三区国产精华液| 91高清免费国产自产| 亚洲另类精品xxxx人妖| 免费电影在线观看网站| 亚洲AV女人18毛片水真多| 免费人成年激情视频在线观看| 精品一区二区三区高清免费观看| 黑人大战亚洲人精品一区| 亚洲国产精品免费视频| 亚洲AV无码一区二区三区人 | 亚洲黄色免费网址| 香蕉97超级碰碰碰免费公| 亚洲欧美日韩一区二区三区在线| 国产真实伦在线视频免费观看| sihu国产精品永久免费| 亚洲国产精品一区| 毛片基地免费观看| 一级毛片完整版免费播放一区| 亚洲第一福利网站| 在线免费观看中文字幕| av电影在线免费看| 亚洲美女激情视频| 免费一级特黄特色大片在线观看| 二区久久国产乱子伦免费精品| 亚洲精品福利网泷泽萝拉| 日韩视频在线免费| 野花香高清视频在线观看免费| 亚洲AV综合色区无码二区偷拍 | 亚洲AV一区二区三区四区| 亚洲精品无码成人片久久| 台湾一级毛片永久免费| 大片免费观看92在线视频线视频|