UML类图关系(继承,依赖,关联,聚合,组合)
来源:互联网 发布:wlan找不到网络 编辑:程序博客网 时间:2024/05/18 01:53
最近一直再看设计之类的博客,但是一直搞不清楚聚合和组合的区别,于是查阅资料了2者之间的关系和区别,顺便回顾一下UML类图的所有关系。
- 继承(Generalization):子类继承父类所有的特征和行为。
- 依赖(Dependency):即使用关系,一个类的实现需要用到另一个类的方法、属性、字段等,尽量不要使两个类相互依赖。
- 关联(Assocation):即拥有关系,一个类是另一个类的属性或者字段。
- 聚合(Aggreation):是一种特殊的关联。整体与部分的关系,且部分可以脱离整体独立存在。
Example:一个航空母舰战斗群拥有母舰、驱逐舰、护卫舰,缺少了母舰或者驱逐舰(护卫舰)也就没有所谓的航空母舰战斗群,但是母舰(驱逐舰、护卫舰)依然存在。public class Cvbg { public Carrier Carrier { get; set; } public List<Destroyer> Destroyers { get; set; } public List<Frigate> Firgate { get; set; } public Cvbg(Carrier carrier, List<Destroyer> destroyers, List<Frigate> firgate) { Carrier = carrier; Destroyers = destroyers; Firgate = firgate; } }
- 组合(COmposition):也是关联的一种。整体与部分的关系,且部分不可以脱离整体独立存在。组合是比聚合关系还要强的存在,它要求部分对象的生命周期在整体对象的生命周期内。
Example:鸟有一对翅膀,没有鸟,翅膀也就不存在了。public class Bird { private Wing _leftWing; private Wing _rightWing; public Bird() { this._leftWing = new LeftWing(); this._rightWing = new RightWing(); } } public class Wing { } public class LeftWing : Wing { } public class RightWing : Wing { }
1 0
- UML类图关系(继承,依赖,关联,聚合,组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML 类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)总结
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 找找5
- linux驱动之input子系统之按键驱动编写流程(三)
- 微信公众号设置菜单 发布资讯
- Dom4j-Quick start Guide xml
- Error 13 error C3861: 'GetPrivateProfileString': identifier not found
- UML类图关系(继承,依赖,关联,聚合,组合)
- iOS开发中常见的数据持久化的方法
- 2016校招心得
- Remove Nth Node From End of List - Leetcode
- Ubuntu下初始化root用户密码
- MTK平台下用Socket如何实现HTTP请求
- 边缘检测综合-Canny算子,Sobel算子,Laplace算子,Scharr滤波器
- cordova开发环境搭建
- nc根据帐套名称设置默认数据源