为什么要把Bean(POJO)的大部分成员变量私有化,然后提供getter和setter方法

参考了他人的一些见解,以下是自己的一些拙见。

        这样设计的目的有:

        1、隐藏类的具体实现细节。因为成员变量是类的重要组成部分,有些变量信息不能直接暴露给使用者。

        2、权限控制。因为setter方法的回调,提供者可以预先把一些控制逻辑封装在setter方法中,例如age不能是负数等。让使用者只能通过规定的方法来获取属性或设置合理的属性。

        3、便于后续维护。随着业务发展等实际需要,一些属性可能不存在或是名字要修改,因为使用者只是通过getter方法获取的属性,因此只需在父类中修改,而不需要使用者修改。

猜你喜欢

转载自powering.iteye.com/blog/2269126