问题:为什么定义实体类的时候要定义getters and setters函数呢?为什么不能直接调用对象.属性修改呢?
个人理解如下:
- 可以在函数里面定义一些逻辑,比如满足条件才能 set ,或者在 返回值的时候对值做一些其他处理。
- setters and getters 可以有不同的访问级别,比如某个属性只能 get 而不能 set 时, 可以只将 getters 设置为 public ,setters 设置为private。
- 便于维护,例如对于现在的需求而言,设置属性 value 可以简单利用
对象.属性 的方法赋值,但是当后面遇到复杂的需求,需要在 setter 时做更多事情,就要修改许多代码。