【设计模式】第1节:UML类图

编程入门 行业动态 更新时间:2024-10-27 14:30:26

【设计<a href=https://www.elefans.com/category/jswz/34/1771241.html style=模式】第1节:UML类图"/>

【设计模式】第1节:UML类图

本系列文章主要参考自B站用户以诺爱编程的《设计模式》系列视频,以及王争的《设计模式之美》系列文章。

本文参考自30分钟学会UML类图。

UML图有很多种,一般只要掌握类图、用例图、时序图就可以完成大部分工作。本文算是学习设计模式的一道前菜,只介绍类图相关的知识。

一、类图中的基本元素

类图中的基本元素有具体类、抽象类、接口和包等。

1. 具体类

具体类用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:

  • “+”表示 public
  • “-”表示 private
  • “#”表示 protected
  • 不带符号表示 default

方法名的冒号后为返回值类型。

2. 抽象类

抽象类和具体类的表示方式类似,不同点在于抽象类的类名和方法名为斜体。

3. 接口

接口也用矩形框来表示,分为两层,第一层顶端用<<interface>>标识为接口,第一层底端为接口名,第二层为接口的方法。

4. 包

包用以下图形表示:

二、类图中的关系

类图中的关系有实现关系、泛化关系、关联关系、依赖关系、聚合关系、组合关系这六种。

1. 实现关系

实现关系是指接口及其实现类之间的关系。在UML类图中,实现关系用空心三角和虚线组成的箭头来表示,从实现类指向接口。

2. 泛化关系

泛化关系是指对象与对象之间的继承关系,子对象“is a”父对象。泛化关系用空心三角和实线组成的箭头表示,从子类指向父类。

3. 关联关系

关联关系是指对象和对象之间的连接,它使一个对象知道另一个对象的属性和方法。关联关系的代码表现形式为一个对象含有另一个对象的引用。关联关系可以是单向关联,也可以是双向关联。双向关联关系用带双箭头的实线或者无箭头的实线双线表示。单向关联用一个带箭头的实线表示,箭头指向被关联的对象。

4. 依赖关系

依赖系是一种弱关联关系。如果对象A用到对象B,但是和B的关系不是太明显的时候,就可以把这种关系看作是依赖关系。即对象A “use” 对象B。依赖关系用一个带虚线的箭头表示,由使用方指向被使用方。具体代码表现形式为B为A的构造器方法中的局部变量方法或构造器的参数方法的返回值,或者A调用B的静态方法

5. 聚合关系

聚合是关联关系的一种特例,它体现的是整体与部分的拥有关系,即 “has a” 的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享,所以聚合关系也常称为共享关系。聚合关系用空心菱形加实线箭头表示,空心菱形在整体一方,箭头指向部分一方。

6. 组合关系

组合也是关联关系的一种特例,它同样体现整体与部分间的包含关系,即 “contains a” 的关系。但此时整体与部分是不可分的,部分也不能给其它整体共享,作为整体的对象负责部分的对象的生命周期。这种关系比聚合更强,也称为强聚合。

更多推荐

【设计模式】第1节:UML类图

本文发布于:2023-12-03 11:02:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1654632.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模式   UML   类图

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!