UML关系图
发布日期:2021-08-26 17:45:33 浏览次数:10 分类:技术文章

本文共 685 字,大约阅读时间需要 2 分钟。

回忆下UML图

继承

 接口实现

 

 

接下来是类与类的关系(从弱到强)

倚赖(dependency):

类与类之间的连接,表示一个类依赖于另外一个类的定义,依赖关系时是单向的

简单理解就是类A使用到了类B,这种依赖具有偶然性、临时性,是非常弱的关系。

在java中表现为:

1.局部变量

2.方法中的参数

3.对静态方法的调用

关联(association)

关系表示类与类之间的连接,它使得一个类知道另外一个类的属性和方法

关联关系体现的是两个类,或者类与接口之间的强依赖关系,这种关系很强烈,比依赖更强,不是偶然性的,也不是临时性的,而是一种长期性,相对平等的关系。

Java中表现

1.使用实例变量

聚合(aggregation)

是关联关系的特例,是强的关联关系,聚合是整个与个体的关系,即has-a关系(is-a是继承),此时整体和部分是可以分离的,他们具有各自的生命周期,部分可以属于多个对象,也可以被多个对象共享;

比如计算机和CPU,公司与员工的关系;

与关联代码层面一致。

 

组合(compostion)

是关联关系的一种特例,体现的是一种contain-a关系。它同样体现整体与部分的关系,但此时整体与部分是不可分的,整体生命周期的结束也意味着部分生命周期的结束,反之亦然。

与关联代码层面一致。

组合/聚合区别:

组合“部分”不能脱离“整体”单独存在,其生命周期应该是一致的。

聚合“部分”可以脱离“整体”单独存在,他们具有各自的生命周期。

 

转载于:https://www.cnblogs.com/Gang-Bryant/p/10785139.html

转载地址:https://blog.csdn.net/weixin_33893473/article/details/93684369 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring事务隔离级别,事务传播行为
下一篇:Jquery的toggle()与trigger()方法

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年01月18日 07时45分42秒