ad

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.4.2 类图

admin 89 2023-10-26

【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第4节,由颜廷吉编著。

2.4.2 类图

1. 概述

类图描述系统中类的静态结构。它不仅定义系统中的类,还表示类之间的联系,也包括 类的内部结构。类图是最常用也是最重要的UML 图之一。

在一个类图中,能够查看一个类的成员变量和成员方法,也能查看一个类是否继承自另 外一个类,是否拥有对另外一个类的引用。简而言之,能够描绘出类之间的代码依存关系。 从一个图上去评估一个系统的依存结构比从代码中去评估容易得多;类图让一些依存结构可 视化;让人们能够了解依存关系,并帮助人们如何以最佳的方式进行优化。

2.类图中的事物及解释

类使用长方形来表示,从上到下分为三部分,分别是类名、属性和操作。类名是必须有 的,类除属性名外,还可以有可见性、数据类型、缺省值等描述信息。同样,除操作名外,类 还可以有可见性、参数名、参数类型、参数缺省值以及返回值的类型等描述信息,如图2-17 所示。3.类图中的关系及解释

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.4.2 类图

(1)关联

关联 (Association) 是类与类之间最常用的一种关系,它是一种结构化关系,用于表示 一类对象与另一类对象之间有联系。具有方向、名字、角色和多重性等信息。

关联虽然在语义上分三种(一般关联、聚合与组合),但在表现形式上是一致的(类的 成员变量)。其中聚合与组合是特殊的关联,表示类之间有较强的语义关系。

a.一般关联

① 双向关联默认情况下,关联是双向的(箭头可以省略)

② 单向关联

类的关联也可以是单向的,如图2-19所示。

③ 自关联

在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联称为自关联, 如图2-20所示。

④ 多重性关联

表示一个类的对象与另一个类的对象连接的个数。在UML 中多重性关系可以直接在关 联直线上增加一个数字,表示与之对应的另一个类的对象的个数b. 聚合关系

聚合关系 (Aggregation) 表示整体和部分的关系,整体与部分可以分开。通常在定义一 个整体类后,再去分析这个整体类的组成结构,从而找出一些成员类,该类和成员类之间就 形成了聚合关系。

在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员 对象可以脱离整体对象独立存在。

例如:汽车与引擎,汽车可以选择A 公司的引擎,也可以选择B 公司的引擎,引擎与 汽车之间是可以分开的c.组合关系

组合关系 (Composition) 也表示类之间整体和部分的关系,但是组合关系中部分和整体 具有统一的生存期。 一旦整体对象不存在,部分对象也将不存在,部分对象与整体对象之间 具有同生共死的关系。

在组合关系中,成员类是整体类的一部分,而且整体类可以控制成员类的生命周期,即 成员类的存在依赖于整体类(2)依赖关系

依赖关系 (Dependence) 描述了一个类的变化对依赖于它的类产生的影响。假设A 类 的变化引起了B 类的变化,则说明B 类依赖于A 类。

依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物。大 多数情况下,依赖关系体现在某个类的方法使用了另一个类的对象作为参数。

依赖关系有如下两种情况:

A 类是B 类中的(某方法)局部变量;

A 类是B 类方法当中的一个参数

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_1.1 架构来源
下一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.5.12 责任链模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×