oop - 没有 OOP 是否可以封装?
问题描述
我在一次采访中被问到一个问题:如果没有 OOP 封装是可能的,例如在程序语言中?
解决方案
Bob Martin 曾表示,封装不仅可以在没有 OOP 的情况下实现,而且在 OOP 出现之前更好。
这是他 2014 年在耶鲁管理学院发表的演讲的节选。
我们有完美的封装。在 C 中,您所要做的就是前向声明您的函数和数据结构。您不必实施它们。您将在头文件中转发声明它们,然后在 C 文件中实现它们。您的用户将使用
#include
您的头文件。他们看不到您的实施。完美封装。您的任何用户都无法看到您的任何数据值。他们所能看到的只是你的函数签名。他们可以看到您的数据结构的名称,但看不到您的数据结构中的任何成员。绝对完美的封装。
推荐阅读
- hyperledger-fabric - ENDORSEMENT_POLICY_FAILURE 在调用链码时使用即使交易对象包含足够的背书
- javascript - 当我向 chartjs 添加漏斗图时,所有图表都被加载压缩,直到调整页面大小
- winforms - 鼠标点击在 win 10 中使用 VB6.0 开发的 winform 应用程序不起作用
- javascript - 在 laravel 中使用引导程序
- javascript - 嵌套在堆栈导航器中的 React Native 选项卡导航器
- typescript - 通过创建具有循环依赖关系的 monorepo 导致错误
- azure - 如何使用arm模板部署IPAddress输出一个powershell目标机ip
- python - 将数据框列折叠为其不同的值,并根据其他频率创建一个新列
- tensorflow - 从 Tensorflow Hub 获取已保存模型中的节点连接
- keras - 何时使用 minmaxscaler 重新缩放输入数据(LSTM、KERAS)