可能无用的对象

Row*_*ndB 3 java oop

在我写作的时候Generic RPG Number 3,742,我为Items和实现了一个类Inventory.从概念上讲,它Item是一个特定的项目.我想要一种"堆叠"项目的方法,这样我Inventory每种方式只能输入1个Item.

为此,我创建了一个Item Wrapperprivate Item和的Number of Items.它还有一些方法来处理所有这些的总重量Items等.

当我扩展这个问题时,麻烦来了.我发现自己想复制ItemItem Wrapper班上几乎所有的方法.另一种选择是Item publicInventory课堂上制作和引用它,感觉同样糟糕.

这是Item Wrapper不应该存在的标志吗?这会产生重复项目InventoryItems单数概念的问题.我觉得可能有更好的解决方案,但我似乎无法找到它.

编辑:添加更多关于当前类结构的说明.

Player_Character有一个私人Inventory.

Inventory有一个私人[mumble] VectorItem Wrappers.

Item Wrapper有一个私人Item和私人int"how_many".

注意'有'.随着我的不断扩大Inventory,我注意到我一直在需要Item_Name或其他特定的东西Item.如果我不改变我的设计,我要么将所有Get功能复制ItemItem WrapperItem公开(in Item Wrapper).

Gre*_*own 5

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