Java 内聚力

Java 内聚力

Java中的内聚力是与确保一个类的设计具有单一的、明确的目的最密切相关的面向对象原则。在面向对象的设计中,凝聚力指的是如何设计一个单一的类。

注意: 一个类越集中,该类的内聚力就越强。

高内聚力的好处是,这样的类比低内聚力的类更容易维护(也更少改变)。高内聚力的另一个好处是,具有明确目的的类往往比其他类更容易被重用。

例子: 假设我们有一个将两个数字相乘的类,但同一个类却创建了一个显示结果的弹出式窗口。这是一个低内聚类的例子,因为窗口和乘法运算没有什么共同之处。为了使其具有高内聚性,我们必须创建一个显示类和一个乘法类。Display将调用Multiply的方法来获得结果并显示出来。这样就可以开发出一个高内聚的解决方案。

让我们了解一下高内聚力程序的结构

// Java program to illustrate
// high cohesive behavior
 
class Multiply {
   
    int a = 5;
    int b = 5;
   
    public int mul(int a, int b)
    {
        this.a = a;
        this.b = b;
        return a * b;
    }
}
 
class Display {
    public static void main(String[] args)
    {
        Multiply m = new Multiply();
        System.out.println(m.mul(5, 5));
    }
}

输出

25
// Java program to illustrate
// high cohesive behavior
 
class Name {
    String name;
    public String getName(String name)
    {
        this.name = name;
        return name;
    }
}
 
class Age {
    int age;
    public int getAge(int age)
    {
        this.age = age;
        return age;
    }
}
 
class Number {
    int mobileno;
    public int getNumber(int mobileno)
    {
        this.mobileno = mobileno;
        return mobileno;
    }
}
 
class Display {
    public static void main(String[] args)
    {
        Name n = new Name();
        System.out.println(n.getName("Geeksforgeeks"));
        Age a = new Age();
        System.out.println(a.getAge(10));
        Number no = new Number();
        System.out.println(no.getNumber(1234567891));
    }
}

输出

Geeksforgeeks
10
1234567891

高内聚力和低内聚力的图解:

Java中的凝聚力

解释: 在上图中,我们可以看到,在低内聚中,只有一个类负责执行许多不常见的工作,这就减少了重用性和维护的机会。但在高内聚中,所有的工作都有一个单独的类来执行特定的工作,这导致了更好的可用性和维护。

高内聚力和低内聚力的区别

  • 高内聚力是指你有一个类来做一个定义明确的工作。低内聚是指一个类做了很多没有什么共同点的工作。
  • 高内聚力给我们提供了更好的维护设施,而低内聚力则导致了难以维护、理解和减少重用性的单体类。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程