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

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

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

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    類之間關系的層次

    Posted on 2009-07-12 23:13 Gavin.lee 閱讀(563) 評論(0)  編輯  收藏 所屬分類: 類的設計

    1.首先類之間的關系從宏觀上可以分為:關聯、依賴、繼承,而其中關聯又有兩種特例:聚合和組合,不過在UML2.X中聚合和組合合成一種關系了。

    2.從使用的頻率來看,關聯(包括聚合和組合)關系是使用最為廣泛的;其次是依賴和繼承

    3.關聯和依賴的區別:
    A:從類之間關系的強弱程度來分,關聯表示類之間的很強的關系;依賴表示類之間的較弱的關系;

    B:從類之間關系的時間角度來分,關聯表示類之間的“持久”關系,這種關系一般表示一種重要的業務之間的關系,需要保存的,或者說需要“持久化”的,或者說需要保存到數據庫中的。比如學生管理系統中的Student類和Class(班級)類,一個Student對象屬于哪個Class是一個重要的業務關系,如果這種關系不保存,系統就無法管理。另外,依賴表示類之間的是一種“臨時、短暫”關系,這種關系是不需要保存的,比如Student類和StuEditScreen(學生登錄界面)類之間就是一種依賴關系,StuEditScreen類依賴Student類,依賴Student對象的信息來顯示編輯學生信息。

    C:設計類之間的關系是遵循的原則:首先判斷類之間是否是一種“關聯”關系,若不是再判斷是否是“依賴關系”,一般情況下若不是關聯,就是依賴關系

    D:依賴一般情況下是以下幾種情況之一:a、ClassA中某個方法的參數類型是ClassB;這種情況成為耦合;b、ClassA中某個方法的參數類型是ClassB的一個屬性;這種情況成為緊耦合;c、ClassA中某個方法的實現實例化ClassB;d、ClassA中某個方法的返回值的類型是ClassB;如果出現了上述四種情況之一,兩個類很有可能就是“依賴”關系。

    E:依賴關系(Dependency):是類與類之間的連接,依賴總是單向的。依賴關系代表一個類依賴于另一個類的定義。下面的例子中class A 依賴與class B、C、D。

        public class A{   
            
    public B getB(C c, D d){   
            E e 
    = new E();   
            B b 
    = new B(c, d, e);   
            }
       
        }
     


    F:關聯是一種結構關系,說明一個事物的對象與另一個事物的對象相聯系。給定一個連接兩各類的關聯,可以從一個類的對象導航到另一個類的對象。
    關聯可以有方向,即導航。一般不作說明的時候,導航是雙向的,不需要在線上標出箭頭。大部分情況下導航是單向的,可以加一個箭頭表示。關聯在代碼中一般表示為屬性(成員變量),例如下面例子中 class A與B關聯
     
    public class A{  
        private B b;  
    }  
    如果B也關聯到A,那么它們就是雙向的關聯。
    public class B{  
        private A a;  


    G:聚合關系(Aggregation):是關聯關系的一種,是強的關聯關系。聚合是整體與個體之間的關系。如汽車類與引摯類,輪胎類之間的關系就是整體與個體的關系。
    與關聯關系一樣,聚合關系也是通過實例變量來實現的。

    ***關聯關系所涉及的兩個類是處于同一層次上的,而在聚合關系中,兩個類處在不平等的層次上的,一個代表整體,一個代表部分。(關聯與聚合僅僅從語法上是區分不開的,需要察所涉及的類之間的邏輯關系。)

    H:組成關系(Composition):是關聯關系的一種,是比聚合關系強的關系。它要求普通的聚合關系中代表的對象負責代表部分的對象的生命周期,合成關系是不能共享的。
    代表整體的對象需要負責保持對象的存活,在一些情況下負責將代表部分的對象湮滅掉。代表整體的對象可以將代表部分的對象傳遞給另一個對象,由后者負責此對象的生命周期。換言之,

    *******代表部分的對象在每一個時刻只能與一個對象發生合成關系,由后者排它的負責其生命周期。


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产精品久久久久久| 国产成人免费ā片在线观看| 一区二区三区无码视频免费福利| 免费成人高清在线视频| 中文字幕无码免费久久99| 日本一区二区三区日本免费| 国产专区一va亚洲v天堂| 一本久久综合亚洲鲁鲁五月天| 亚洲综合另类小说色区| 中文字幕免费在线视频| 久久久久久曰本AV免费免费| 国产免费AV片无码永久免费| 亚洲AV日韩AV永久无码久久| 亚洲日韩国产AV无码无码精品| 四虎永久在线精品免费一区二区| 99re视频精品全部免费| 免费国产真实迷j在线观看| 97久久精品亚洲中文字幕无码| 黄页网站在线免费观看| 日本一区二区三区免费高清| 亚洲精品无码成人AAA片| 亚洲国产精品自在自线观看| 久久99精品免费视频| 亚洲国产成人精品91久久久| 一本天堂ⅴ无码亚洲道久久| 99在线在线视频免费视频观看| 亚洲国产成人精品久久 | 蜜芽亚洲av无码一区二区三区| 久久久久成人片免费观看蜜芽| 久久久久亚洲Av无码专| 国产精品偷伦视频观看免费| 亚洲高清无在码在线电影不卡 | 亚洲Av无码乱码在线观看性色| 国产国产人免费人成成免视频| 在线观看免费精品国产| 国产va免费精品| 亚洲精品成人久久| 精品一区二区三区无码免费视频| 亚洲av最新在线网址| 免费观看在线禁片| 亚洲色偷偷综合亚洲av78|