前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >🔥面向对象编程必备-UML类图能看的懂吗?

🔥面向对象编程必备-UML类图能看的懂吗?

作者头像
前端小鑫同学
发布2022-12-26 08:37:01
2250
发布2022-12-26 08:37:01
举报
文章被收录于专栏:小鑫同学编程历险记
image.png
image.png

前言

本篇来了解一下类和类之间关系的表示,我们经常在看一些设计模式的文章、书籍或者是一些大佬的项目会涉及到一些类之间关系的表示,通常就用到类UML类图来做说明。本篇我们就来做一下基础扫盲,避免下次看到时候直接跳过,最后还没看明白的尴尬😅。

表示一个类

image.png
image.png
格式说明:
  1. 第一行:类名称
  2. 第二行:类属性(字段)
  3. 第三行:类方法(函数) 符号说明:
  4. +: public
  5. -:private
  6. #:protected 其他说明:
  7. 类名斜体代表是抽象类 表示一个接口
image.png
image.png

格式说明:

  1. 接口名第一行使用<<interface>>标记
  2. 第一行:接口名称
  3. 第二行:接口方法 表示类的继承关系 使用空心三角+实线表示A1类继承自A类。
image.png
image.png

举例说明:在面向对象的开发过程中,将具有相同属性的类进行封装,实际使用的类通过继承得到这些属性的过程。如:Student,Worker可以拥有公共的父类Person。

表示接口实现关系

使用空心三角+虚线表示A类需要实现接口1。

image.png
image.png

举类说明:在面向对象的开发工程中,将具有相同方法的类进行封装,实际用到的类通过实现接口得到这些规范方法的过程。如:Student、Worker可以拥有公共的接口Sports,并实现running、rope skipping等。

表示类的关联关系

使用实现+箭头来表示A类中包含B类。

image.png
image.png

举例说明:一个类的表现受另一个的影响会产生差异,如:Person类会关注weather的变化来决定是否添加衣服等。

表示类的聚合(弱拥有)关系

使用空心菱形和实线箭头表示A类可以拥有B类,但B类不属于A类的一部分。

image.png
image.png

举例说明:一个类的表现可以包含另一个类,如School类可以包含student同样可以没有student。

表示类的组合(强拥有)关系

使用实心菱形+实线箭头表示B类是A类的一部分。

image.png
image.png

举例说明:一个类的表现是通过多个类的组合来完成的,如:Person类由eye、nose、mouth、ear等等组合而成。

表示类的依赖关系

使用虚线箭头来表示A类依赖C和D类。

image.png
image.png

举例说明:一个类的表现除了组合而来的部分还会包含一个外在的依赖条件,如:Person类需要依赖water、money等。

结语

《大话设计模式》说编程是一门技术,更是一门艺术,UML类图也是需要慢慢熟练的,各位HXD可以收藏已备查询🙏。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 表示一个类
    • 格式说明:
    • 表示接口实现关系
    • 表示类的关联关系
    • 表示类的聚合(弱拥有)关系
    • 表示类的组合(强拥有)关系
    • 表示类的依赖关系
    • 结语
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档