用例子解释的 UML 类图关系
已发表: 2012-03-01类图是面向对象建模的主要构建块,因此了解各种类图关系以及它们如何影响您的解决方案非常重要。 我们在下面通过示例列出了它们。
Creately 通过显示基于上下文的逻辑关系来简化创建类图。
类图关系
类以特定的方式相互关联。 特别是,类图中的关系包括不同类型的逻辑连接。 以下是 UML 中可能的此类逻辑连接类型:
- 协会
- 定向协会
- 反身联想
- 多样性
- 聚合
- 作品
- 继承/泛化
- 实现
协会
是一个广义的术语,几乎包含类之间的任何逻辑连接或关系。 例如,乘客和航空公司可以如上所述链接。
定向协会
是指用带箭头的线表示的方向关系。 箭头描绘了包含容器的定向流。
反身联想
当一个类可能具有多个功能或职责时,就会发生这种情况。 例如,在机场工作的工作人员可能是飞行员、航空工程师、售票员、警卫或维修人员。 如果维护机组成员由航空工程师管理,则在同一类的两个实例中可能存在由关系管理。
多样性
是描述一个类与另一个类的基数时的活动逻辑关联。 例如,一个机队可能包含多架飞机,而一架商用飞机可能包含零到多个乘客。 图中的符号 0..* 表示“从零到多”。
聚合
指由于一个类被聚合或构建为一个集合而形成一个特定的类。 例如,“图书馆”类由一本或多本书籍以及其他材料组成。 在聚合中,包含的类并不强烈依赖于容器的生命周期。 在同一示例中,即使图书馆解散,书籍仍将保留。 要在图表中显示聚合,请在父类附近用菱形画一条从父类到子类的线。
要在图表中显示聚合,请在父类附近用菱形画一条从父类到子类的线。
作品
组合关系与聚合关系非常相似。 唯一的区别是它的主要目的是强调包含的类对容器类的生命周期的依赖性。 也就是说,当容器类被销毁时,包含的类将被删除。 例如,一旦肩包被破坏,肩包的侧袋也将不复存在。
要在 UML 图中显示组合关系,请使用连接两个类的方向线,填充菱形与容器类相邻,方向箭头指向包含的类。
继承/泛化
是指一种关系类型,其中一个关联类是另一个类的子类,因为它假定父类具有相同的功能。 换句话说,子类是父类的特定类型。 为了在 UML 图中显示继承,使用未填充的箭头绘制从子类到父类的实线。
实现
表示由另一个类在一个类中定义的功能的实现。 为了显示 UML 中的关系,从定义实现该功能的类的功能的类中画出一条带有未填充实心箭头的虚线。 在示例中,使用打印机设置界面设置的打印首选项由打印机实现。
使用 Creately 绘制类图
在构建类图表工具时,我们对关系进行了很多思考。 我们的连接器会根据上下文进行调整,并在连接类时仅显示最合乎逻辑的关系。 这大大减少了你犯错的机会。
创建类图>>
从头开始绘制可能很麻烦。 您可以使用我们专业设计的类图立即开始。 浏览我们的类图示例并选择与您的系统密切相关的示例。
什么是类图?
类图是面向对象建模的主要构建块。 它们用于显示系统中的不同对象、它们的属性、它们的操作以及它们之间的关系。
下图是一个简单类的示例:
在示例中,描述了一个名为“贷款帐户”的类。 类图中的类由划分为三个的框表示:
- 顶部分区包含类的名称。
- 中间部分包含类的属性。
- 底部分区显示与该类关联的可能操作。
该示例展示了一个类如何以非常系统和清晰的方式封装特定对象的所有相关数据。 类图是与上述类似的类的集合。
还有更多关于类图关系的问题吗?
我希望我已经清楚地解释了类图之间的各种关系。 它们并不像您想象的那么复杂,可以通过一些练习来掌握。 并且通过使用我们的工具,您在制作类图时应该不会遇到任何问题。 如果您还有其他问题,请随时在评论部分提出。 此外,请查看此 UML 图类型和示例指南以供进一步阅读。
参考:
1. UML 基础:类图Donald Bell 介绍 UML 2 中的结构图
2. 维基百科网站上发布的类图
3. 发布在 developer.com 网站上的 UML 类图第 1 部分
4. Visual Case Tool中的类图——在 Visual Case 网站上发布的 UML 教程
5. Sybase 网站上发布的关联