类的关系

来源:互联网 发布:孔明棋算法 编辑:程序博客网 时间:2024/06/05 20:22
java 类与类之间的关系:
总的分为两类:纵向关系 横向关系
纵向关系:继承关系,
横向关系:
1,依赖关系:就是一个类使用另一个类,这种使用关系具有偶然性,临时性,非常弱的关系。
类图中:虚线+箭头(--use---->)。在代码中:作为参数传入使用。
举例:人过河依赖船,人依赖空气

2,关联关系:这种关系比依赖关系更强,不纯在依赖关系的偶然性,关系也不是临时性的,一般是长期性的,而且双方的关系是平等的,关联可以是单向或者双向的关系。
类图中:视线+箭头(————>)。代码中:作为属性。
举例:朋友之间的关系

3,聚合关系:聚合关系是关联关系的一种特例,它体现的是整体和部分,拥有的关系,整体和部分之间是可以分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
类图中:空心菱形+视线(<>——————)。代码中:不能再构造器中。
举例:人和家之间的关系,班级和学生的关系

4,组合关系:组合关系也是关联关系的一种特例,这种关系比聚合关系更强,也成为强聚合关系,它同样体现整体和部分的关系,但此时整体和部分是不可分离的,整体的生命周期结束就意味着部分生命周期的结束。
类图中:实行菱形+实线(<->---------)。代码中;在构造器中。
例子:人和心,计算机和cpu


总结:客观世界总有很多事物中的关系要想准确定位是很难得,而依赖,关联,聚合,组合这4中关系都是语义级别的,所以冲代码层面并不能完全区别,但总的来说,这几种关系所表现的强弱程序一次是:组合》聚合》关联》依赖。














原创粉丝点击