gpt4 book ai didi

c++ - 类 : Pass as argument or inherit?

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:29 26 4
gpt4 key购买 nike

好吧,假设我有一个继承自 cOrganismcPlayer 类,后者继承自 cEntity。现在我已准备好扩展我的 cPlayer 类,我想为我的播放器添加动画。会不会更好

A.) 创建一个 cAnimation 类并让 cPlayer 继承它?

B.) 创建一个 cAnimation 类并将其作为参数传递给 cPlayer

C.) 还有别的吗?

最佳答案

这取决于CAnimation 是如何设计的。通常,继承在父类和子类之间形成“实现”或"is"关系。

例如,cPlayer 应该继承 cAnimation 去你想要的:

  • cPlayer 实现接口(interface) cAnimation
  • 或者,cPlayer成为cAnimation

这两个对我来说似乎都没有任何意义。 “cAnimation”不是您给界面起的那种名称,播放器也不是动画。

但这只是基于你的命名。您的实际设计将取决于控制动画的对象之间的关系、动画与对象的交互方式(也许您需要一个 IAnimatedObject 接口(interface)?)等。

关于c++ - 类 : Pass as argument or inherit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com