类图知识梳理
2024-02-23 18:39:20 166 举报
类图是一种用于展示系统中的类、接口以及它们之间关系的静态结构图。它包括以下几个主要元素:类(Class)、接口(Interface)、属性(Attribute)、方法(Method)和关联关系(Association)。类图中的类通常用矩形表示,接口用圆形表示,属性和方法用下划线加名称表示。关联关系表示类与类之间的联系,如继承、实现、聚合和组合等。在类图中,还可以使用泛化(Generalization)和实现(Realization)来表示类与接口之间的关系。通过类图,我们可以更好地理解和设计系统的结构和功能。
作者其他创作
大纲/内容
一个类的构成
类名
属性(Attribute)
操作(Operation)/方法(Method)
说明1:类图中的 属性、方法前面符号代表的含义
-:public,公用的,对所有类可见
+:private,私有的,只对该类本身可用
#:protected,受保护的,对该类的子孙可见
~:package,包的,只对同一包声明的其他类可见
说明2:在plantUML中符号的对应关系
来源:https://plantuml.com/zh/class-diagram
类与类之间的关系
关系
关联关系(Association)
说明:表示类之间的关联关系,即一个类知道另一个类或与另一个类进行交互。关联关系可以是双向或单向的,可以有多重性(如一对一、一对多)。它描述了对象之间的连接。
UML图示:使用实线箭头表示,表示类之间具有关联关系。
单向一对一
比如一个手机号对应一个人
代码
双向一对一
人和身份证号之间的关系
代码
单向一对多
一个公司中有多个员工
代码
单向多对一
多个公司对应一个员工(员工换公司了)
代码
双向一对多、多对一
代码
参考:https://www.cnblogs.com/wolf-sun/p/3420120.html
继承关系(Inheritance)
说明:表示一个类继承自另一个类,子类可以继承父类的属性和方法。
UML图示:使用实线+空心三角箭头表示,表示一个类继承自另一个类。
子类(鸟)指向父类(动物)即表示一个继承
实现关系(Realization)
说明:表示一个类实现了一个接口,在类中定义了接口中声明的所有方法。接口定义了一组规范,而实现关系则确保类符合这些规范。
UML图示:一个虚线+空心三角箭头。从实例指向接口即表示一个实现
示例:大雁 实现 飞翔接口
依赖关系(Dependency)
说明:表示一个类使用(依赖)另一个类的服务或信息。当一个类的改变会影响到另一个类时,两个类之间存在依赖关系。
依赖关系通常表现为在方法参数中使用其他类的实例或通过在方法体中创建其他类的实例。
注意:从使用者指向被使用者,这里要注意“使用”的概念,表达了一个物体需要通过另一个物体来完成工作,但他们之间没有包含的关系
依赖关系通常表现为在方法参数中使用其他类的实例或通过在方法体中创建其他类的实例。
注意:从使用者指向被使用者,这里要注意“使用”的概念,表达了一个物体需要通过另一个物体来完成工作,但他们之间没有包含的关系
UML图示:使用虚线箭头表示,表示一个类依赖于另一个类。
示例:动物,有一个新陈代谢的功能,要工作则必须有空气和水,因此构成了他们之间的依赖关系。
聚合关系(Aggregation)
说明:表示整体对象(聚合)和部分对象之间的关系。整体对象包含部分对象,但部分对象可以独立存在。聚合关系是一种强关联,它允许部分对象属于多个整体对象。
UML图示:使用带空心菱形的实线箭头表示,表示整体对象与部分对象之间的关系。
电脑 与 鼠标的关系
代码
组合关系(Composition)
说明:示整体对象(组合)负责创建和销毁部分对象,部分对象不能独立存在。组合关系是一种紧密的关联,整体对象拥有和管理部分对象的生命周期。
UML图示:使用带实心菱形的实线箭头表示,表示整体对象负责创建和销毁部分对象,部分对象不能独立存在。
例如,一个汽车类和引擎类之间可能存在组合关系。
例如,一个汽车类和引擎类之间可能存在组合关系。
一个例子就是窗体和文本框,当窗体不存在时,文本框也将不存在。
说明:类与类之间连线上的数字代表的含义
参考
整体参考:https://online.visual-paradigm.com/diagrams/tutorials/class-diagram-tutorial/
类与类之间的关系
https://blog.csdn.net/m0_37989980/article/details/104470064
https://www.cnblogs.com/wolf-sun/p/3420120.html
https://blog.csdn.net/qq_42339210/article/details/106714076
https://blog.csdn.net/realmagicboy/article/details/90289062
类的构成:https://blog.csdn.net/qq_42339210/article/details/106714076
plantuml官方文档
https://plantuml.com/zh/class-diagram
0 条评论
下一页
为你推荐
查看更多