【发布时间】:2014-08-25 07:06:46
【问题描述】:
在公开库的 C++(或 Java)接口时,必须提供类的“私有”字段,这是不稳定的,因为编译器需要知道类的结构,以便能够例如,计算 sizeof()。
但为什么需要这样做以及如何缓解?因为,对我来说,它似乎违反了封装概念:为什么用户要担心或访问被认为是私有的东西?
一种解决方案是为每个对象定义一个 size() 函数,但这在运行时会很麻烦。
不过,一种语言 (eC/ecere) 声称 [1]:
“库开发人员无需担心最终用户看到的类定义的私有内容,只有声明为公开的内容才会可见”
在 eC 中是如何实现的?如何在 Java 或 C++ 中实现类似的功能?
【问题讨论】:
标签: java c++ api encapsulation