对私有属性的存取控制通过一个方法来执行肯定有其必要性,至少从我的项目经验来看在后期的维护中有许多便利之处,比较典型的场景就是一个编号在早期版本中是单纯数字,后期需要增加其他描述性的信息,如果没有getset方法,那你就满世界的找这个属性的引用去吧。
如果用setget方法可以对你的数据进行某些修改,比如在set中判断是否合法等。。。
所谓控制安全性是在编译器期,还有一个最大的原因叫“约定大于俗成”
private 不是只有类中友好么