当前位置 : 主页 > 网络编程 > net编程 >

【UML如此简单】-类图

来源:互联网 收集:自由互联 发布时间:2023-10-08
类图:UML中的类图是一种静态结构图,它通过显示系统的类、它们的属性、操作以及对象之间的关系来描述系统的结构。 类:对系统中具有相似角色的一组对象的描述,包括属性和操作



类图:UML中的类图是一种静态结构图,它通过显示系统的类、它们的属性、操作以及对象之间的关系来描述系统的结构。
类:对系统中具有相似角色的一组对象的描述,包括属性和操作。


==============================================================================

类的符号

类名、类属性、类操作(方法)


:类中属性和操作名称前的+表示公共属性或操作;-表示私有属性或操作;#表示受保护的属性或操作;~表示包属性或操作
【UML如此简单】-类图_实线


==============================================================================

类关系

继承(泛化)、关联、聚合、组成、依赖

继承


“is a”关系
SubClass1 和 SubClass2 是 Super Class 的特化
带有空心箭头的实线,从子类指向父类
【UML如此简单】-类图_实线_02
例子:
【UML如此简单】-类图_表达式计算_03


关联


两个对等类之间的连接
Class1 和 Class2 之间存在关联
连接两个类的实线
【UML如此简单】-类图_表达式计算_04


聚合


一种特殊类型的关联。它代表关系的“一部分”。
Class2 是 Class1 的一部分。
Class2 的许多实例(用 * 表示)可以与 Class1 相关联。
Class1 和 Class2 的对象具有不同的生命周期。
关联端带有未填充菱形的实线
【UML如此简单】-类图_uml_05
例子:
【UML如此简单】-类图_实线_06


组成


Class2 的对象与 Class1 一起生存和死亡。
Class2 无法独立存在。
关联处带有实心菱形的实线
【UML如此简单】-类图_uml_07


依赖


如果对一个类的定义的更改可能导致对另一个类的更改(但不是相反),则存在于两个类之间。
Class1 依赖于 Class2
带有空心箭头的虚线
【UML如此简单】-类图_表达式计算_08


==============================================================================

关系名称


例子:
“每个电子表格都包含一些单元格”,
“一个表达式计算出一个值”
它们通常有一个小箭头来显示读取关系的方向,例如,表达式计算为值,但值不计算为表达式。
【UML如此简单】-类图_表达式计算_09
箭头表示,给定一个参与关系的实例,是否可以确定与其相关的另一个类的实例。


多重性


每个类有多少个对象参与到关系和多重性中,表示为:
正好1个:1
0或1个:0…1
许多:0…*或*
1个或多个:1…*
确切数字:例如3…4或6
复杂的关系 - 例如 0…1、3…4、6.* 表示除 2 或 5 之外的任意数量的对象
例子:一个学生可以参加多门课程,许多学生可以参加一门课程【UML如此简单】-类图_类图_10


==============================================================================

示例


【UML如此简单】-类图_类图_11




网友评论