1.类之间的关系

来源:互联网 发布:js提交复杂表单 编辑:程序博客网 时间:2024/06/04 19:58

在设计模式的学习过程中,每种模式多会有相应的UML图进行对应,也就会有相应的类与类之间的关系,现总结如下:

1.关联关系(association)

关联关系是一种静态的关系,与状态无关,例如人与公司之间的关系,与运行时候的状态无关.关联关系具有多重性,1对1,1对n等

uml表示:


代码关系:

用成员变量表示.如果1:n,就用集合的成员变量表示

2.依赖关系(dependency)

一个对象在运行时会用到另一个对象的关系.依赖关系是一种临时性关系,在运行期产生,随着运行场景的不同,依赖关系可能改变.这种关系相对关联关系,是一种弱关系.

uml表示:

代码关系:

类构造方法,类方法中参数传入


3泛华关系(generalization)

说明两个对象的继承关系.但是泛华关系不能准确的给出哪些方法得到了继承.

uml表示:

代码关系:

extends


4.聚合关系(aggregation)

表达整体由部分构成.生命周期不同步,是关联关系的一种.例如:一个部门有很多的员工.部门不存在了,员工还存在.

uml表示:

代码实现:

  UML 依赖 关联 聚合 组合 - sundensky - 丁成云的博客


5.组合关系(composition)

组合关系是一种强依赖的一种关系,整体不存在,部分也会消亡,整体和部分生命周期同步.

uml表示:

代码表示:

  UML 依赖 关联 聚合 组合 - sundensky - 丁成云的博客

聚合和组合的代码实现可以看出,组合关系在创建整体时,才创建个体,声明周期是相同的,外界不知道个体.

0 0
原创粉丝点击