gpt4 book ai didi

java - 潜在无用的对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:26 24 4
gpt4 key购买 nike

在编写 Generic RPG Number 3,742 时,我为 ItemsInventory 实现了一个类。从概念上讲,Item 是一个特定的项目。我想要一种“堆叠”项目的方法,这样对于每种 Item,我在 Inventory 中只有一个条目。

为此,我创建了一个 Item Wrapper,它有一个 private ItemNumber of Items。它还有一些处理获取所有这些 Items 等的总重量的方法。

当我对此进行扩展时,麻烦就来了。我发现自己想要在我的 Item Wrapper 类中复制几乎每个 Item 方法。另一种方法是使 Item public 并在 Inventory 类中引用它,这感觉同样糟糕。

这是否表明 Item Wrapper 不应该存在?这会导致 Inventory 中的重复项目或 Item 的概念成为单一的问题。我觉得可能有更好的解决方案,但我似乎找不到。

编辑:对当前类结构添加更多说明。

Player_Character 有一个私有(private)库存

Inventory 有一个私有(private)的 [mumble] VectorItem Wrapper

Item Wrapper 有一个私有(private)的 Item 和私有(private)的 int "how_many"。

注意“有”。当我一直在扩展 Inventory 时,我注意到我一直需要 Item_Name 或其他特定于 Item 的东西。如果我不改变我的设计,我要么将 Item 中的所有 Get 函数复制到 Item Wrapper 中,要么制作 Item public(在 Item Wrapper 中)。

最佳答案

您的 ItemWrapper 类型听起来像是 composite 的一个例子,这是一种非常常见的设计模式。如果是这样,我不会认为它是多余的或无用的。

关于java - 潜在无用的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500144/

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