加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

UML”关联关系“与“依赖关系”的区别

发布时间:2020-05-27 04:05:33 所属栏目:程序设计 来源:互联网
导读:关联关系 根据事物之间的紧密程序,分为一般关联,聚合关联,和组合关联。 一般关联: 一般关联两者处于同一个级别,例如唐僧与徒弟都不是一般的存在 在 Java 或 c++ 中,关联关系是通过使用成员变量来实现的 可以是双向的 class 徒弟 { }; class 唐僧 { prot


关联关系 根据事物之间的紧密程序,分为一般关联,聚合关联,和组合关联。

一般关联:

一般关联两者处于同一个级别,例如唐僧与徒弟都不是一般的存在

在 Java 或 c++ 中,关联关系是通过使用成员变量来实现的

可以是双向的

class 徒弟
{ };
class 唐僧
{
protected:
list<徒弟> tdlist;
};

聚合关联:

聚合关联聚合是整体和部分之间的关系,例如:汽车和引擎,轮子

聚合关系也是通过成员变量来实现的

class 引擎
{
};
class 轮胎
{
};
class 汽车
{
protected:
引擎 engine;
轮胎 tyre[4];
};

组合关联:

组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在, 例如:公司和部门,人和手,脚,部门是不能脱离公司而存在,人死了手、脚也挂了

1 class 肢
{
};
class 人
{
protected:
肢 limb[4];
};

如何记忆:一般关联较弱,用一个箭头表示,聚合关联较强,所以用两个箭头表示,组合关系就更强了,所以用最强的在两个箭头中填充黑色神秘物质。


依赖关系:依赖关系比关联系弱一点, 分为三种,一般依赖,实现依赖,继承依赖

一般依赖:

依赖总是单向的

依赖关系在 Java 或 C++ 语言中体现为局部变量、方法的参数或者对静态方法的调用

public class Person
{
public void buy(Car car)
{ ... }
}


实现依赖:

在类图中就是接口和实现的关系

这个没什么好说的,在一般依赖箭头上加条线就行了


继承依赖
也就是继承关系

在实现依赖的基础上,把虚线变成实线就OK了

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读