【问题标题】:How multiple dispatch violates encapsulation in c++多重分派如何违反 C++ 中的封装
【发布时间】:2015-01-24 05:18:34
【问题描述】:

1. 谁能解释一下多分派如何违反封装(使用 C++)?

我正在阅读 scott meyers item31,他说“我们几乎要求封装,因为每个碰撞函数都必须知道它的每个兄弟类,即那些继承自 GameObject 的类。”

如果一个类 A 与其他类有多个依赖关系,比如 B、C、D 等,它仍然只能通过其他类的接口访问数据。这将如何违反类封装?在某些文本中,我还阅读了多次调度,违反了基于对象的封装。什么是基于对象的封装? (谁能解释这在 C++ 中的含义)。提前致谢

【问题讨论】:

    标签: c++ encapsulation


    【解决方案1】:

    Meyers 的意思是,一个类必须知道另一个类(否则它不需要知道)这一事实是封装的损失。它必须知道兄弟姐妹才能实现碰撞功能。如果我们实现了封装,那么所有兄弟姐妹都不需要知道任何其他兄弟姐妹类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 2015-12-27
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多