Java:封装概念

Java: Encapsulation Concept

Java中,我们总是遵循封装规则,但在我看来有一个悖论,在所有文档中封装的概念都是这样定义的:

Encapsulation is the technique of making the fields in a class private and providing access to the fields via public methods. If a field is declared private, it cannot be accessed by anyone outside the class.

我们将 classes 中的所有变量定义为 private,以防止 class 之外的任何人访问。

我们再次为这些私有变量创建 setter 和 getter,并且 class 之外的任何人都可以通过使用 setter 和 getter 访问这些变量。

如果有人能帮助我弄清楚封装的概念,我将不胜感激。

我们不只是通过声明 private 并创建 setter 和 getter 来增加代码吗?

参考:https://www.javatpoint.com/encapsulation

封装在Java

Java中的封装是将代码和数据包装成一个单元的过程,例如,由多种药物混合而成的胶囊。

封装在java 我们可以通过将 class 的所有数据成员设为私有来在 Java 中创建一个完全封装的 class。现在我们可以使用setter和getter方法来设置和获取里面的数据了

Java Bean class 是完全封装的例子class。

Java

封装的优势

By providing only a setter or getter method, you can make the class read-only or write-only. In other words, you can skip the getter or setter methods.

它使您可以控制数据。假设你想设置id的值只能大于100,你可以把逻辑写在setter方法里面。您可以编写不在 setter 方法中存储负数的逻辑。

这是一种在Java中实现数据隐藏的方法,因为其他class将无法通过私有数据成员访问数据。

封装class,方便测试。所以,还是单元测试比较好。

The standard IDE's 正在提供生成 getterssetters 的工具。因此,在 Java.

中创建封装的 class 既简单又快速