为什么POJO类的数据成员是私有的,getter / setter函数是公共的? 有人可以为此提供解决方案。
答案 0 :(得分:0)
常用方法:使用getter / setter访问变量:
getAge()
的getter。)答案 1 :(得分:0)
它不一定是那种方式,它只是一种模式,它存在是有原因的。
默认情况下,类的所有成员都应该是私有的,因此没有人可以从外部搞乱事物或者读/写外部不重要的值。此外,一些内部的东西可以在你的课堂内改变,外面的世界也不应该关心它。
为了允许来自外部世界的访问,无论是阅读还是写作,都应该通过getter / setters / issers来处理,以便进行受管理的操作。
将其视为您班级的迷你API - 您的班级可以理解和依赖的任何人的界面。
答案 2 :(得分:0)
如果要在设置对象值之前/之后添加任何验证或修改任何其他内容,可以在setter方法中使用该验证。同样适用于吸气剂。
答案 3 :(得分:0)
它是基本的面向对象原则,即只有对象可以通过称为封装的消息进行通信。所以,间接你不会将你的状态暴露给外部。对于一个具有一个属性年龄的示例类,那里的年龄不能为负,所以在setter中你可以进行检查,这样你的对象状态就不会处于不良状态。如果你直接访问变量那么就没有验证的余地。
答案 4 :(得分:0)
面向对象编程的基本原则是封装类的成员并仅通过getter和setter来访问它们