快速读懂UML类图

本文回顾了大学课程中UML建模语言的基础知识,特别是类图的构成和各种关系。类图的四个部分包括类名、属性、方法和性质,其中类名的字体和接口标志区分抽象类。类图中的关系包括一般化(继承或接口实现)、关联、聚合、合成和依赖。关联关系、聚合和合成的关系强度逐级递增,而依赖关系表示一方对另一方的临时性依赖。通过实例解析,帮助读者理解这些概念在实际编程中的应用。
摘要由CSDN通过智能技术生成

上大学的时候,UML建模语言这门课就天天以画苹果作例子讲解。现在毕业了,对这门课忘得差不多了,一提到UML就只记得画苹果…

UML包括以下几种图

  • 使用案例图
  • 类图
  • 序列图
  • 合作图
  • 状态图
  • 活动图
  • 构件图
  • 部署图

其中最常看见的就是类图了
在这里插入图片描述
上图的类图被分成四个部分,从上到下依次为,类名,属性,方法,性质。
类名:正体时表示具体类,斜体表示抽象,若为接口,可以加上<< interface >>。
属性:公有的使用+,私有的使用-,保护的使用#,权限符后接的是属性名称,再后面是属性的类型。
方法:同样使用+,-,#描述权限,冒号后接的为方法的返回值。
性质:其实相当于特殊属性,该属性拥有get,set方法。

类图的关系
一般化关系
画的不好,凑活看
在这里插入图片描述
使用实线三角箭头表示,对应到java语言中就是继承关系,或者是实现接口。在上图,Pet是被继承的类,所以用斜体表示类名。
在设计模式的类图层次结构中,叶子节点一定是正体,而分支节点一定是斜体,其实这不难理解,如果一个类不能被实现,那它一定是用来被继承的,而一个类不需要被继承,那他一定是用来实现的。

关联关系
在这里插入图片描述
对应到Java语言,就是Person类中含有Dog类的引用

聚合关系
在这里插入图片描述
是关联关系的一种,如Person和Clouthes是聚合关系,他们是整体和部分的关系。

合成关系
在这里插入图片描述
同样是关联关系的一种,但比聚合关系更强的关系,它比聚合关系多了一层:整体负责部分的生命周期,Dog和Leg就是合成关系,狗腿依存于狗。因此合成关系中,代表部分的对象不能被共享。

如果实在分不清关联关系、聚合关系和合成关系的区别,就索性使用关联关系代表就行了,聚合和合成就相当于继承自关联关系,用父类替换子类,这不是符合依赖倒转原则嘛…从这个角度想好像也对

依赖关系
在这里插入图片描述
依赖关系是类之间的连接,它总是单向的,如上图,一个人买一辆车,person调用Buy(Car car)方法,对应关系就是Person依赖Car。
简单来说,一个类的方法参数含有另一个类的引用,它们的关系就是依赖。需要注意的是,依赖的类属性不含有被依赖的类,否则他们的关系就是关联关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值