gpt4 book ai didi

c++ - 什么时候适合使用继承?

转载 作者:太空狗 更新时间:2023-10-29 19:52:32 29 4
gpt4 key购买 nike

<分区>

我总是得到非常直接的回应,如“如果 future 的 child 是 parent 的子类型,请使用继承。”这在我做小项目时有用,但当我开始使用 2D 游戏引擎时,我遇到了相互冲突的情况。

假设我有一个基类 GameObject,为了参数,它有 50 个函数和 5 个成员变量。这些功能是 setters、getters、动画功能、渲染、移动等。对于我的玩家和敌人来说,这是一个完美的基类。

但我也有像元素和 Prop 这样的对象,它们只需要(而且我只希望能够访问)从 GameObject 继承的 10 个函数。我的项目仍然可以定义为游戏对象,但它不会移动或没有任何动画。

在这里做什么?我是否继承并忽略额外的功能,造成内存浪费?我重写那 10 个函数,浪费时间吗?我是否将 GameObject 设为 Item 和 Prop 的私有(private)成员变量,再次浪费内存但允许我阻止对任何不需要的函数的访问?还是从 GameObject 中删除所需的 10 个函数并将它们粘贴在单独的 header 中以创建辅助函数库?

编辑:

感谢您的回复。几乎每个人都说将 GameObject 类拆分为定义更好的基类或使用组合。

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