加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C组成 – 我必须包装所有这些功能吗?

发布时间:2020-12-16 05:38:54 所属栏目:百科 来源:网络整理
导读:我有一个C类描述了3D空间中对象的方向 – 位置,旋转,缩放等.我有其他类必须需要这样的信息(或其一部分) – 模型,地形,摄像头等.现在我可以让我的方向课的子类,但是谷歌已经告诉我喜欢组合继承.这在哲学上是有意义的 – 一个模型不是一个方向,它有一个(并且是
我有一个C类描述了3D空间中对象的方向 – 位置,旋转,缩放等.我有其他类必须需要这样的信息(或其一部分) – 模型,地形,摄像头等.现在我可以让我的方向课的子类,但是谷歌已经告诉我喜欢组合继承.这在哲学上是有意义的 – 一个模型不是一个方向,它有一个(并且是的,我知道是一个事情只是一个启发式).然而,似乎不必要的是,对于所有那些未来的子类来说,重写相同的包装方法几乎是不合适的.像model.getOrientation().set_x(1)这样的东西似乎也很傻.

我可以看到为什么对于小对象来说这不是“太糟糕”,但是对于这个例子(和其他人)来说,如果你必须穿过箍来假装你使用继承,那么这个组合是什么意思?我现在应该甚至使用吗?我几乎肯定我在想这个不正当.

解决方法

它可能看起来很傻,但是你的model.getOrientation().set_x(1)可能是要走的路.

如果你厌倦了键入getOrientation()部分,你可以尝试这样的:

Orientation & orient = model.getOrientation();
orient.set_x(1);
orient.set_y(1);
if( orient.check_something() ) {
  //whatever
}
//etc.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读