類與類之間的關係2

來源:互聯網
上載者:User

1.關聯關係
當一個類的對象作為另一個類的對象的成員時,那麼這兩個類之間就有了關聯關係.
C#代碼如下:  

///

/// 關聯關係
///

public class 老公
{
    private 老婆 老婆;
}

public class 老婆
{
}

uml圖如下:

 

2.關聯關係中的多重性 
 是指類A的一個執行個體對應類B的執行個體的個數
C#代碼如下:

///

/// 關聯關係中的多重性
///

public class 狗
{
    private 腿[] 腿 = new 腿[4];  //這裡值得商榷,狗與腿應該是組合的關係,因為狗沒了,腿也沒了,可以換成狗和多袋狗食 added              by  zhangjun at  2011-03-30
}

public class 腿
{
}

uml圖如下:

 

3.關聯關係中的方向性
在一個大公司裡,公司的總裁只認識那些核心職員,不能認識所有的普通職員,而所有的職員都認識總裁.
C#代碼如下

///

/// 關聯關係中的方向性
///

public class 大公司總裁
{
    private 核心職員 核心職員;
}

public class 核心職員
{
    private 大公司總裁 大公司總裁;
}

public class 普通職員
{
    private 大公司總裁 大公司總裁;
}

uml圖如下:

 

4.彙總關係
是關聯關係的特例,表示兩個類的執行個體之間有整體與部分的關係,處於空心一端是整體,另一端為部分.彙總關係並不隱含整體消失而導致部分也消失.
如公司倒閉了,但做為職員的人還在,不會隨之滅亡.
C#代碼如下:

///

/// 彙總關係
///

public class 公司
{
    private 職員 職員;
}

public class 職員
{
}

uml圖如下:

 

5.組合關係
是彙總關係的一個特例,在彙總關係含義的基礎上,增加了整體與部分之間"皮之不存,毛將焉附"的語義.實心的菱形表示整體,另一端表示部分.
C#代碼如下:

///

/// 組合關係
///

public class 樹
{
    private 樹葉 樹葉;
}

public class 樹葉
{
}

uml圖如下:

 

6.依賴關係
相對於關聯關係, 依賴關係是一種比較弱的關係,被"依賴者"的變化有可能影響"依賴者".
C#代碼如下:

///

/// 依賴關係
///

public class 人類
{
    private 糧食 糧食;
}

public class 糧食
{
}

uml圖如下:

 

7.繼承關係
類A是類B的一種,如下列代碼小學生或大學生都是學生,在C#中用關鍵字abstract聲明.
C#代碼如下:

///

/// 繼承關係
///

public abstract class 學生
{
    public abstract void 學習();
}

public class 小學生 : 學生
{
    public override void 學習()
    {
    }
}

public class 大學生 : 學生
{
    public override void 學習()
    {
    }
}

uml圖如下:

 

8.實現關係
一方作為要求提出來,另一方具體完成這個要求.在C#中用關鍵字interface聲明.如下列代碼,去公園散步我可以步行或乘車去,都可以實現.
C#代碼如下

///

/// 實現關係
///

public interface 去公園
{
    void 散步();
}

public class 步行 : 去公園
{
    public void 散步()
    {
    }
}

public class 乘車 : 去公園
{
    public void 散步()
    {
    }
}

uml圖如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.