1.类间关系及UML表示

一、依赖关系(Dependency):

  • 相对独立的两个对象,满足下列要求之一:
  1. 一个对象构造了另一个对象的实例
  2. 一个对象使用了另一个对象(作为方法中的参数、局部变量等)

则为依赖关系,这种关系是偶然的临时的
举例:

机器生产零件,人借用船过河

UML表示:

虚线箭头
在这里插入图片描述

二、关联关系(Association):

相对独立的对象,一个对象的实例与另一个对象的一些特定实例存在固定的对应关系(一个对象拥有另一个对象的引用)
举例:

师傅和徒弟(1:N),学生和课程(N:N)

UML表示:

实线箭头在这里插入图片描述

三、聚合关系(Aggregation):

聚合关系为关联关系的特例,一个对象是另一个对象的组成部分时,两个对象为聚合关系
聚合关系中的两个对象是整体与部分的关系,整体与部分是可分离的。
举例:

汽车和引擎,计算机和主板

聚合与关联的区别:

关联关系的两个类是处于相同的层次,聚合关系的两个类一个作为整体,一个作为部分

UML表示方法:

尾部为空心菱形的实线箭头(也可以没箭头),由整体指向部分
在这里插入图片描述

四、组合关系(Composition):

组合关系为关联关系的特例,体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。

举例:

人和大脑,窗口和标题栏、菜单栏

UML表示方法:

尾部为实心菱形的实现箭头(也可以没箭头),整体指向部分
在这里插入图片描述

五、泛化关系(Generalization):

从一般到具体

在一般描述的基础上对继承的类进行扩展

代码层面,用继承实现(继承一个实体类,不是接口)

例:

Ainmal类和Tiger类,

UML表示法:空心三角形箭头的实线,由子类指向父类

在这里插入图片描述

六、实现关系(Realization):

接口之间的关系,表示类是接口所有特征和行为的实现。

泛化与实现的区别:

泛化和实现的区别就在于子类是否继承了父类的实现,如有继承则关系为泛化,反之为实现。

UML表示:

空心三角箭头的虚线,实现类指向接口。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Desperado1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值