本节书摘来自异步社区出版社《c++面向对象高效编程(第2版)》一书中的第章,第2.8节,作者: 【美】kayshav dattatri,更多章节内容可以访问云栖社区“异步社区”公众号查看。
c++面向对象高效编程(第2版)
如果某项对于用户理解类毫无帮助,封装该项,即从接口中移除该项根本不会减少类的效用;
如果某项包含敏感数据(商业秘密、专利信息、个人信息等),为了不让用户直接访问,封装该项;
如果某些项有潜在的危险(激光束、x射线、微波等),并且要求用户掌握特殊技能(普通用户不具备)才能操作,则封装该项;
如果类为了自我管理而使用某些元素,且对接口意义不大,应封装这些元素;
如果某些项倾向于在将来进行改动(为了使用更新的技术或者让其更快或更安全),必须从类的接口中移除,封装这些项。
我们将在后续章节中用大量例子来讨论以上情况。