sách gpt4 ai đã đi

Thiết kế OOP - nhiều đối tượng, mỗi đối tượng có tương tác riêng với một tập hợp con giới hạn các đối tượng khác

In lại 作者:行者123 更新时间:2023-12-04 12:41:49 34 4
mua khóa gpt4 Nike

如果 A 类与 B、C 和 D 类中的每一个都有唯一的交互,那么交互的代码应该在 A 中还是在 B、C 和 D 中?

我正在编写一个小游戏,其中许多对象可以与其他对象进行独特的交互。例如,EMP点击 sentry gun并禁用它。它也可能达到 grenade并引爆它,它也可能击中 player并应用减速效果。

我的问题是,这段代码应该放在 EMP 类中,还是分散在所有其他类中?我的直觉告诉我要多态地执行此操作,以便我只需告诉每个类处理它喜欢的 EMP 罢工,这将允许我添加更多项目并更改它们处理 EMP 的方式,而无需更改 EMP 代码。

但是,EMP 目前只与我的 50 个对象中的大约 4 个交互,因此用空的 RespondToEMP() 调用填充 46 个对象似乎是错误的。这似乎也有点不直观,如果我决定删除 EMP,我需要更改所有其他类,而 EMP 类本身最终会变得非常小。这也意味着如果我想改变 EMP 的行为方式,我需要查看所有不同的类以找到所有可能的用法。此外,如果 EMP 有一些通用效果,例如爆炸,那么这种效果肯定会在 EMP 代码中,远离所有其他将分发的效果。

1 Câu trả lời

我的想法是 sentry gun , grenadeplayer都应该实现一个通用接口(interface)来执行 RespondToEMP 方法。 .这样,如果您稍后决定其他 46 个对象中的一个可以被 EMP 击中,您将知道实现此接口(interface)。

关于OOP 设计 - 许多对象每个都与其他对象的有限子集具有独特的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15253783/

34 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com