泛化 依赖 关联 聚合 组合
【转载】http://www.javaeye.com/topic/37302
注意UML的线型
- 泛化(Generalization):继承的反向
父类 父类实例=new 子类()Code
- 依赖(Dependency):依赖关系表现在局部变量,方法的参数,以及对静态方法的调用
上层类无需定义下层类实例变量
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
- 关联(Association):比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司。
所涉及的两个对象是独立存在的系统 是处在同一个层次上的
Code
- 聚合(Aggregration):弱组合关系,聚合类不需要对被聚合类负责
A包括B,但B可以不是A的一部分 飞机场与飞机等
//聚合 Class B { A *a; //}
//组合 Class B { A a; //}
聚合和关联区别,聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。 - 组合(Composite): 强组合关系,A和B生命周期一样,人与心脏 整体与部分不可分割 整体类(人)销毁,部分类(心脏)也销毁
- 实现(Realize):虚线和空心箭头,指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。比如实现类和接口的关系。
作者:DylanWind
出处:http://www.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。