《软件建模与设计: UML、用例、模式和软件体系结构》一一2.4 类图

简介:

本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第2章,第2.节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 类图

在类图中,类用方框描绘,类之间的静态(永久)关系被描绘成连接方框之间的连线。UML表示法支持以下三种类之间的主要关系类型:关联(association)、整体/部分关系(whole/part relationship)和泛化/特化(generalization/specialization relationship)关系,这些关系如图2-3所示。第四种关系,即依赖关系(dependency relationship),经常被用来表示包之间是如何进行关联的,2.7节将对其进行描述。
image

图2-3 UML表示法中类图内的关系
2.4.1 关联
一个关联(association)是两个或多个类之间的一个静态的、结构化的关系。两个类之间的关联被称为二元关联(binary association),它用两个类框之间的连线表示,如图2-3a中连接classA方框和classB方框的连线。一个关联具有一个名字,并且可选择性地具有一个黑色小箭头来表示关联名称的阅读方向。每个连接类的关联线的末端标明关联的多重性(multiplicity),多重性指的是一个类的多少个实例关联到另一个类的一个实例。此外,可以用棍状箭头描绘导航的方向。
一个关联的多重性(multiplicity)指的是一个类的多少个实例可能和另一个类的单个实例有关(如图2-3a的右边)。一个类的多重性可以是一个(1)、可选(0..1)、零或多个()、一个或多个(1..),或者特定的数值范围(m...n),其中m和n是数值。
2.4.2 聚合和组合层次
聚合和组合层次(aggregation and composition hierarchy)是整体/部分(whole/part)的关系。组合关系(用黑色菱形表示)是一个比聚合关系(用空心菱形表示)更强的整体/部分关系的形式。菱形与聚合或组合中(ClassWhole)的类方框相连接(见图2-3b)。
2.4.3 泛化和特化层次
泛化/特化层次(generalization/specialization hierarchy)是一种继承关系(inheritance relationship)。泛化被描绘为一个连接子类(subclass)到父类(superclass)的具有箭头的连线,箭头与表示父类的方框连接(见图2-3c)。
2.4.4 可见性
可见性(visibility)指类中的一个元素是否在类外可见,如图2-4所示。在类图中描绘可见性是可选的。公有可见性(public visibility)使用+号,表示一个元素在类的外部是可见的。私有可见性(private visibility)使用-号,表示一个元素只在定义它的类的内部是可见的,对于其他类是隐藏的。受保护可见性(protected visibility)使用#号,表示一个元素在定义它的类及其所有子类中是可见的。
image

图2-4 UML表示法中类图内的可见性

相关文章
|
3天前
|
uml
UML之类图
UML之类图
20 1
|
1月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
71 0
|
6月前
|
uml
IDEA使用插件绘制UML类图+PlantUML语法讲解
IDEA使用插件绘制UML类图+PlantUML语法讲解
271 0
|
3月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
40 0
|
3月前
|
设计模式 数据可视化 程序员
软件设计模式:UML类图
软件设计模式:UML类图
|
1月前
|
存储 Java uml
Java-UML类图简介
Java-UML类图简介
18 0
|
3月前
|
Java uml
【开发规范】UML类图
【1月更文挑战第27天】【开发规范】UML类图
|
3月前
|
uml
UML类图
UML类图
46 0
|
3月前
|
机器人 uml 数据安全/隐私保护
快速学习UML类图查看
快速学习UML类图查看
37 0
|
3月前
|
Java 程序员 uml
【程序员小知识】使用 PlantUML 画 UML(上)类图
【程序员小知识】使用 PlantUML 画 UML(上)类图
132 0