设计模式中类的关系
2016-03-26 15:13
176 查看
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。
前辈的博客把这些都写的很清楚了:设计模式中类的关系
看完之后对类的关系有了更清晰的理解,这里就个人的理解稍稍总结一下。
在类图中,是用隐线箭头表示的!
![](http://img.my.csdn.net/uploads/201201/9/0_1326090848k9uU.gif)
![](http://img.my.csdn.net/uploads/201201/9/0_13260910603wKT.gif)
单向关联
![](http://img.my.csdn.net/uploads/201201/9/0_1326091107b7a6.gif)
双向关联
![](http://img.my.csdn.net/uploads/201201/9/0_1326091349r4fJ.gif)
![](http://img.my.csdn.net/uploads/201201/9/0_1326091503n1mJ.gif)
![](http://img.my.csdn.net/uploads/201201/9/0_1326091767VEff.gif)
![](http://img.my.csdn.net/uploads/201201/9/0_1326091808887z.gif)
好了,今天的设计模式入门篇到此结束啦!
前辈的博客把这些都写的很清楚了:设计模式中类的关系
看完之后对类的关系有了更清晰的理解,这里就个人的理解稍稍总结一下。
1.依赖
依赖就是类A中使用了类B,如B是A的方法参数,方法局部变量,静态方法调用。这里就可以说A依赖B啦!在类图中,是用隐线箭头表示的!
![](http://img.my.csdn.net/uploads/201201/9/0_1326090848k9uU.gif)
2.关联
简单的来说,关联就是A是B的成员变量,这里是单项关联,如果B也是A的成员变量,那这就是双向关联啦!![](http://img.my.csdn.net/uploads/201201/9/0_13260910603wKT.gif)
单向关联
![](http://img.my.csdn.net/uploads/201201/9/0_1326091107b7a6.gif)
双向关联
3.聚合
简单的来说,聚合也是关联的一种,特殊的是,好多类都是A类的成员变量,A类和这些类的关系就是聚合啦~![](http://img.my.csdn.net/uploads/201201/9/0_1326091349r4fJ.gif)
4.组合
简单的来说!组合就是,A类中不仅有很多成员变量,而且A还不能缺少他们,比如说成员变量一般会在构造方法中实例化!![](http://img.my.csdn.net/uploads/201201/9/0_1326091503n1mJ.gif)
5.继承
这个就不要说啦,这还不知道就别学Java啦!![](http://img.my.csdn.net/uploads/201201/9/0_1326091767VEff.gif)
6.实现
实现就是一个类实现了好多接口,就是接口啦!![](http://img.my.csdn.net/uploads/201201/9/0_1326091808887z.gif)
好了,今天的设计模式入门篇到此结束啦!
相关文章推荐
- Android 第七天重置版_BroadCastReceiver_注意事项
- ubuntu14.04 系统加固(2)
- C# 三种字节数组(byte[])拼接的性能对比测试
- python面试题
- Tunnel Warfare(线段树)
- OnTouch事件分发机制解析
- OC单例:做一个图书管理系统
- 四则运算3
- HDU 4508 湫湫系列故事——减肥记I(完全背包入门)
- zend studio svn安装过程
- Linux下Samba的配置
- 动手写一个Python Web 框架学习笔记 - 相关依赖学习(2)
- 课堂练习----一个整数数组中最大子数组的和(2)
- 高可用系统在点评的实践与经验--讲座思考
- Keil MDK从未有过的详细使用讲解
- 读源码原来这么有意思
- Linux USB 驱动开发(三)—— 编写USB 驱动程序
- 快排源代码
- HDOJ 1316 How Many Fibs?
- python--基础学习(六)sqlite数据库基本操作