stand on the shoulders of giants

泛化 依赖 关联 聚合 组合

【转载】http://www.javaeye.com/topic/37302
注意UML的线型

  • 泛化(Generalization):继承的反向
    父类 父类实例=new 子类() 
    Code
  • 依赖(Dependency):依赖关系表现在局部变量方法的参数,以及对静态方法的调用
    上层类无需定义下层类实例变量

        

 

Code

 


 

Code

 

  • 关联(Association):比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司。
    所涉及的两个对象是独立存在的系统 是处在同一个层次上的


    Code

       

  • 聚合(Aggregration):弱组合关系,聚合类不需要对被聚合类负责
    A包括B,但B可以不是A的一部分 飞机场与飞机等

    //
    聚合 Class B { A *a; //
    //组合 Class B {  A a; //
    聚合和关联区别,聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。
  • 组合(Composite): 强组合关系,A和B生命周期一样,人与心脏 整体与部分不可分割      整体类(人)销毁,部分类(心脏)也销毁
  • 实现(Realize):虚线和空心箭头,指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。比如实现类和接口的关系。  
posted @ 2008-11-03 16:03  DylanWind  阅读(419)  评论(0编辑  收藏  举报