2017-06-02 26 views
0

为什么POJO类的数据成员是私有的,并且getter/setter函数是公共的? 有人可以给这个解决方案。Plain Old Java对象类

+1

https://en.wikipedia.org/wiki/Encapsulation_(computer_programming) – Jens

回答

0

常见的方法:通过使用getter/setter方法访问的变量:

  • 更好的可维护性
  • 无障碍用于不同的数据表示私有属性仅定义类(隔离)
  • (你可能有私人数据来存储生日,但创建一个名为getAge()的获得者)。
0

它不一定是这样,它只是一个模式,它存在的原因。

一类的所有成员应该是默认的私有,这样没有人可以从外面或者弄乱的东西读这不是由外部重要/写入值。此外,课堂内部可能会改变一些内部的东西,外部世界不应该关心它。

要允许从“外面的世界”的访问,无论是读或写任何东西应通过getter/setter方法/ issers处理,以允许管辖的操纵。

它认为这样的类的小型API - 到类外部的任何人都能理解和依赖的接口。

0

如果你想添加任何验证或修改任何其他事情之前/设置对象的值之后,就可以使用在setter方法为验证。同样适用于getter。

0

它的基本的面向对象的原则,即只有对象可以通过被称为encapsulation.So间接你是不是暴露你的状态outside.For一个属性年龄的示例类信息沟通是存在的,年龄不能为负所以在setter中你可以放一张支票,这样你的对象状态就不会坏了。如果你直接访问变量,那么就没有验证的余地。

0

的面向对象的编程的基本原理是封装一个类的成员,并仅经由getter和setter给对它们的访问