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

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战 image.png

前言

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

表示一个类

image.png

格式说明:

  1. 第一行:类名称
  2. 第二行:类属性(字段)
  3. 第三行:类方法(函数)

符号说明:

  1. +: public
  2. -:private
  3. #:protected

其他说明:

  1. 类名斜体代表是抽象类

表示一个接口

image.png

格式说明:

  1. 接口名第一行使用<<interface>>标记
  2. 第一行:接口名称
  3. 第二行:接口方法

表示类的继承关系

使用空心三角+实线表示A1类继承自A类。

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

表示接口实现关系

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

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

表示类的关联关系

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

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

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

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

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

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

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

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

表示类的依赖关系

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

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

结语

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

posted @   前端小鑫同学  阅读(5)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示