UML类图

2020-09-15  本文已影响0人  得_道

请看以下这个类图,类之间的关系是我们需要关注的:


image.png

类之间的关系

用一条带空心箭头的直接表示

image.png

用一条带空心箭头的虚线表示


image.png

用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;

表现在代码层面,为类B作为参数被类A在某个method方法中使用。

image.png

一条直线表示的;它描述不同类的对象之间的结构关系;

这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;

表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;


image.png

用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;

表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

image.png

用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;

体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;

表现在代码层面,和关联关系是一致的,只能从语义级别来区分;


image.png
上一篇 下一篇

猜你喜欢

热点阅读