🔥面向对象编程必备-UML类图能看的懂吗?
这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战
前言
本篇来了解一下类和类之间关系的表示,我们经常在看一些设计模式的文章、书籍或者是一些大佬的项目会涉及到一些类之间关系的表示,通常就用到类UML类图来做说明。本篇我们就来做一下基础扫盲,避免下次看到时候直接跳过,最后还没看明白的尴尬😅。
表示一个类
格式说明:
- 第一行:类名称
- 第二行:类属性(字段)
- 第三行:类方法(函数)
符号说明:
- +: public
- -:private
- #:protected
其他说明:
- 类名斜体代表是抽象类
表示一个接口
格式说明:
- 接口名第一行使用
<<interface>>
标记 - 第一行:接口名称
- 第二行:接口方法
表示类的继承关系
使用空心三角+实线表示A1类继承自A类。
举例说明:在面向对象的开发过程中,将具有相同属性的类进行封装,实际使用的类通过继承得到这些属性的过程。如:Student,Worker可以拥有公共的父类Person。
表示接口实现关系
使用空心三角+虚线表示A类需要实现接口1。
举类说明:在面向对象的开发工程中,将具有相同方法的类进行封装,实际用到的类通过实现接口得到这些规范方法的过程。如:Student、Worker可以拥有公共的接口Sports,并实现running、rope skipping等。
表示类的关联关系
使用实现+箭头来表示A类中包含B类。
举例说明:一个类的表现受另一个的影响会产生差异,如:Person类会关注weather的变化来决定是否添加衣服等。
表示类的聚合(弱拥有)关系
使用空心菱形和实线箭头表示A类可以拥有B类,但B类不属于A类的一部分。
举例说明:一个类的表现可以包含另一个类,如School类可以包含student同样可以没有student。
表示类的组合(强拥有)关系
使用实心菱形+实线箭头表示B类是A类的一部分。
举例说明:一个类的表现是通过多个类的组合来完成的,如:Person类由eye、nose、mouth、ear等等组合而成。
表示类的依赖关系
使用虚线箭头来表示A类依赖C和D类。
举例说明:一个类的表现除了组合而来的部分还会包含一个外在的依赖条件,如:Person类需要依赖water、money等。
结语
《大话设计模式》说编程是一门技术,更是一门艺术,UML类图也是需要慢慢熟练的,各位HXD可以收藏已备查询🙏。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具