0

根据这篇文章,我知道紧耦合和松耦合之间的区别:https ://www.upgrad.com/blog/loose-coupling-vs-tight-coupling-in-java/

我不明白的是它使用的例子。

对于松耦合,Java 代码:

 class Volume {

   public static void main(String args[]) {

        Cylinder b = new Cylinder(25, 25, 25);

           System.out.println(b.getVolume());

   }

}

final class Cylinder {

    private int volume;

    Cylinder(int length, int width, int height) {

             this.volume = length * width * height;

    }

    public int getVolume() {

             return volume;

    }

}

对于紧密耦合,Java 代码:

class Volume {

   public static void main(String args[]) {

        Cylinder b = new Cylinder(15, 15, 15);

           System.out.println(b.volume);

   }}

 class Cylinder {

   public int volume;

   Cylinder(int length, int width, int height) {

           this.volume = length * width * height;  }}

谁能解释第二个代码如何使两个类(体积和圆柱体)绑定在一起(紧密耦合)?或者是什么让第一个代码松耦合?谢谢。

4

1 回答 1

0

通常,在 OOP 中,您希望声明您的类属性,private以便封装它们。这样做,您不能直接访问它们,也不能错误地更改它们。这是出于代码维护的原因,当您有多个可以访问代码库的开发人员时特别有用,因为您在重要的类属性和下一个开发人员之间创建了障碍。

这件事虽然产生了两个问题:

  • 您无法再访问该属性值。- 该getVolume()方法在这里发挥作用。此方法称为getter,仅用于通过返回属性来获取其相关属性的值,而不是直接通过访问它。
  • 您不能再更改属性值。- 一种setVolume(value)方法(在您的代码中不存在)在这里发挥作用。此方法称为setter,仅用于通过参数更改其相关属性的值 - 同样,不是直接。
于 2022-01-30T17:02:59.563 回答