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.

我们将类内的所有变量定义为private,以避免类外的任何人访问。

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

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

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


Ref:https http://www.javatpoint.com/encapseculation

爪哇封装

在爪哇的封装是一个写入代码的过程,数据在一起成为一个单元,例如,一个胶囊混合了几种药物。

爪哇封装我们可以在爪哇创建一个完整的封装级,由所有的私人成员组成。现在我们可以使用设置和获取方法来设置和获取数据。

爪哇豆类是一个完全封装的种类的例子。

爪哇封装的优势

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.

它为你提供了数据的控制。假设你想把标识的价值设置在100%以上,你可以在设置方法中写入逻辑。你可以在设定方法中写入逻辑,而不是储存负数。

这是在爪哇实现数据隐藏的一种方式,因为其他类别的数据无法通过私人数据成员获得。

封装类很容易测试。所以,这是最好的单位测试。

提供了产生getterssetters的设施。因此,在爪哇创建一个封装级很容易,而且很快。