Bjarne Stroustrup:我的经验法则是,当且仅当您可以考虑类的不变量时,您应该拥有一个具有接口和隐藏表示的真实类。
在当前的项目中,我有一个名为 Widget 的基类。它具有用于 x、y、宽度、高度(基本上是一个 rect 数据结构)的私有变量以及每个变量的公共 getter 和 setter。除了成为一个愚蠢的变量持有者之外,他们对班级没有任何意义。根据上面 Bjarnes 的评论,我摆脱了这个类,但我想知道我应该如何与需要它们的子类共享这个数据结构。我应该将它们单独包含为每个班级的成员吗?将它们放在 Widget 命名空间中?