请问面向对象可见性关键字有什么实际意义?

最近在学习面向对象,关于可见性关键字的实际意义有点没想不明白。
书上举得例子是商品价格是经过折扣计算出来的,不让访问原始价格属性。但是类的调用者不都是自家的程序员吗?对程序员限制访问权限有意义呢?请过来人指点迷津。谢谢

阅读 2.7k
2 个回答

首先这个和是不是自家程序员关系不大,主要作用是封装性,也就是说该看到的就看到,不该看到就不看到。这样写对象的人知道该暴露什么,针对一个功能暴露什么参数,调用对象的人也知道自己要实现一个功能应该看到什么参数,修改什么参数,实现了职责划分。
你可以看看 这本书 https://segmentfault.com/a/11...

后面你维护的时候,原则上只需要保证那些暴露出去的方法的兼容性即可。