Python 为什么数据隐藏是OOP的关键部分,而不是命令式或函数式编程?

Python 为什么数据隐藏是OOP的关键部分,而不是命令式或函数式编程?,python,oop,data-hiding,Python,Oop,Data Hiding,它是否也用于其他编程范例中?什么时候不使用它是一个很好的例子?哦,这是一个非常广泛的主题,它与您工作的语言/环境有很大的不同 例如,python实际上没有花太多时间考虑封装: 封装的“最佳”示例是c++中的pimpl: 只有当您希望有人不要乱动您的内部变量时,封装才有真正的意义 如果您获得了对这些内容的完整源代码访问,您可以随时查看、更改内容(无论是好是坏) 比如说,你是一名汽车导航系统的软件开发人员。制造商给了你一个api文档如何连接到汽车,你可以通过函数访问信息(例如,获取gps坐标),并

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

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

例如,python实际上没有花太多时间考虑封装:

封装的“最佳”示例是c++中的pimpl:

只有当您希望有人不要乱动您的内部变量时,封装才有真正的意义

如果您获得了对这些内容的完整源代码访问,您可以随时查看、更改内容(无论是好是坏)

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