1.谁能解释多重分派(dispatch)如何违反封装(使用 C++)?
我正在阅读 scott meyers item31,他说“我们已经非常反对封装,因为每个碰撞函数都必须知道它的每个兄弟类,即那些继承自 GameObject 的类。”
如果类 A 与其他类有多个依赖关系,例如 B、C、D 等,它仍然只能通过其他类的接口(interface)访问数据。这将如何违反类封装?在一些文本中,我还阅读了 multiple dispatch, violates object based encapsulation。什么是基于对象的封装? (谁能解释这在 C++ 中的含义)。提前致谢
最佳答案
Meyers 所说的是一个类必须知道另一个类,否则它不需要知道的事实是封装性的损失。它必须了解 sibling 才能实现碰撞功能。如果我们实现了封装,则所有 sibling 都不需要知道任何其他 sibling 类。
关于c++ - 多重分派(dispatch)如何违反 C++ 中的封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28122552/