Java 中的内聚

2024 年 9 月 10 日 | 阅读 3 分钟

在本节中,我们将讨论Java 中的内聚。内聚定义了 Java 中类的设计方式。Java 中的内聚是面向对象编程的原则。内聚与确保 Java 中创建类的目的得到良好聚焦和单一密切相关。换句话说,在类中分组的相关性越强,内聚性就越高。

为了更好地理解,请看以下示例。

文件名:CohesiveExample.java

输出

Addition of the numbers 9 and 46 is: 55
t is not a vowel.
o is a vowel.

解释:上面的示例很容易理解。有一个类包含两个方法。一个方法执行两个数字的加法(算术运算),另一个方法关注元音和辅音(与英文字母相关)。然而,没有人能给出明确的理由说明为什么这两个方法被归入同一个类,因为元音或辅音与数字之间没有关系。因此,我们可以说该类缺少内聚性。

内聚的必要性

一个显而易见的问题是我们为什么需要内聚?我们需要内聚,因为它在高度内聚的结构中很容易工作。代码的更新和修改变得容易。想想图书馆里的书是如何排列的。在图书馆里,我们对物品进行分类。每个不同的学科都有一个单独的部分。

例如,生物学书籍放在一起,数学书籍放在一起。在图书馆里,我们不会将数学和生物学书籍混在一起。因为这会很难找到一本数学或生物学书。同样,我们在编程世界中也对物品进行分类。代码中避免了不相关物品的混淆。事实上,在一个忽略类内内聚性的代码中是不可能工作的。

因此,我们需要修改上面编写的代码,使其符合内聚原则。上面代码的修改版本如下所示。

文件名:CohesiveExample1.java

输出

Addition of the numbers 9 and 46 is: 55
t is not a vowel.
o is a vowel.

解释:上面的代码提供了两个单独的类:一个用于执行加法运算,另一个用于执行字符运算。这样做是因为字符和加法运算彼此不相关。因此,上述程序中的内聚性得到了维护。