-2

它是否也用于其他编程范例?什么时候和什么时候不使用它的一个很好的例子是什么?

4

1 回答 1

1

哦,这是一个非常广泛的话题,它与您工作的语言/环境有很大不同。

例如,python 并没有真正花太多时间考虑封装:为什么 Python 的“私有”方法实际上不是私有的?

封装的“最佳”示例是 c++ 中的 pimpl: 你如何在 C++ 中进行“真正的”封装?

封装只有在你希望别人不要弄乱你的内部变量时才真正有意义。

如果您对这些东西有完整的源代码访问权限,您可以随时查看、更改内容(无论好坏)。

因此,假设您是汽车导航系统的软件开发人员。制造商给你一个api-doc如何连接到汽车,你可以通过函数访问信息(例如,获取gps坐标),也可以通过函数自己设置信息。但是处理引擎的软件很可能为您的导航软件隐藏/锁定(好吧,在大多数情况下它做得很糟糕......但只是出于示例原因)一个很好的例子是马力变量(不知道它是否存在),您不应该能够在导航软件中看到/设置/获取该数字......这就是所有的大惊小怪。

于 2016-08-12T09:07:35.587 回答