彻底掌握UML类图

UML(Unified Modeling Language)统一建模语言

由于UML类图的精确、无歧义、完整的建模,通常我们通过使用UML类图来详细的描述系统中的对象和他们的关系。认识UML类图也能帮助我们快速了解、理清系统中对象之间的关系

类图表示方式

在UML类图中,包含类名、属性和方法三块如下图所示,包含了name、age、email三个属性以及方法userInfo()
在这里插入图片描述
属性和方法前面的符号表示了可见性,UML类图中表示可见性的符号如下

  • + : 表示public
  • - : 表示private
  • # : 表示protected(friendly也归入这类)

完整的属性表示方式: 可见性 属性名 : 类型 [= 缺省值] 中括号表示可选

完整的方法表示方式: 可见性 方法名(参数列表) [ : 返回类型]中括号表示可选

类与类之间关系的表示方式

实现关系

空心三角形虚线表示

在这里插入图片描述
如图可以得知:A类实现了B类,B类是一个抽象概念

泛化关系

空心三角形实线表示

在这里插入图片描述
泛化关系表示对类的一个细分,代码中表现为继承非抽象类

聚合关系

空心菱形实线表示

在这里插入图片描述
聚合关系表现为整体与部分之间的弱依赖关系,整体不存在了部分依赖可以独立存在,也就是说部分和整理的生命周期是独立的。
如: 班级不存在了,学生仍然能够单独存在
代码中的体现为: 班级类中有学生的集合对象

组合关系

实心菱形实线表示

在这里插入图片描述
组合关系表现为整体与部分之间的强依赖关系,整体不存在了,部分也就不存在了
如: 公司与部门之间的关系,部门是公司的下属机构,如果公司不存在了部门也就没法独立存在
代码中的体现为: 通过公司类构造函数中实例化部门对象

关联关系

实线表示

关联关系默认不强调方向,表示对象间相互都知道;如果特别强调方向,如下图表示A知道B,但B不知道A

在这里插入图片描述
关联关系描述不同类的对象之间的结构关系;一般用来定义对象之间静态的、天然的结构。所以关联关系是一种强关联的关系

在代码中:关联对象通常以成员变量的形式实现

依赖关系

箭头虚线表示

在这里插入图片描述
在代码中:表示一个对象在运行期间会用到另一个对象的关系
显然,依赖也有方向,双向依赖是一种非常糟糕的结构,我们总是应该保持单向依赖,杜绝双向依赖的产生.

在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系;依赖关系除了临时知道对方外,还“使用”对方的方法和属性.

关注我的公众号了解更多

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值