继承:




实现接口:


聚合
聚合是一种特别类型的关联,用于描述“总体到局部”的关系。在基本的聚合关系中, 部分类 的生命周期独立于 整体类 的生命周期。

举例来说,我们可以想象, 是一个整体实体,而 车轮 轮胎是整辆车的一部分。轮胎可以在安置到车时的前几个星期被制造,并放置于仓库中。在这个实例中,Wheel类实例清楚地独立地Car类实例而存在。然而,有些情况下, 部分 类的生命周期并 独立于 整体 类的生命周期 -- 这称为合成聚合。举例来说,考虑公司与部门的关系。 公司和部门 都建模成类,在公司存在之前,部门不能存在。这里Department类的实例依赖于Company类的实例而存在。



组合:说白了就是两个人要死要活的。(上面说的合成聚合)



 class MeiNv
    {
        ShuiGe shuige;
        MeiNv()
        {
            shuige = new shuige();
            //我生你也生
        }
        ~MeiNv()
        {
            shuige.Dispose();
            //我死你殉情
        }
    }

    class ShuiGe:IDisposable
    {
      public  override void Dispose()
        {
          //
        }
    }



依赖:

表现为C6 是c5方法中的参数,或c5调用c6的静态方法。意即c5要完成自己的工作必须有c6的协助。你需要乘坐公交车上班,而不需要拥有公交车。


还有的地方说聚合就像汽车与停车场的关系

    class TingCheChang
    {
        QiChe[] qichelist;
    }

    class QiChe
    {
    }


停车场可以有一两,两辆汽车,也可以一辆也没有。