(我使用的是 Java,因此添加了“Java”标签,以防它影响任何答案,但有些人可能会认为该标签是不必要的。)
考虑以下:
我有一个阳台/阳台以图形方式进行规划。作为最终计划的一部分,我需要列出建造阳台所需的所有材料。为了简化计算过程,我将阳台分成不同的部分:
甲板上方- 涉及塑料围栏组件和固定件(即螺钉、螺栓)
甲板下方- 涉及木材副框架和更多固定件。
...加上其他我不会深入探讨的内容。
为了争论:由于我们提供不同的围栏设计,有 100 种不同的库存商品可供选择。每个项目都有自己的类别,包括尺寸、颜色、数量及其 ID 参考等信息。
我想要做的是创建每个部分所需的修复列表,并将它们全部添加到一个最终列表中,没有任何重复。
最后的想法是在已处理的计划旁边显示项目名称和数量。
例如:
第 1 部分要求:
- 25 x 螺钉 A
- 15 x 螺钉 B
- 5 x 螺钉 C
第 2 部分要求:
- 25 x 螺钉 A
- 15 x 螺钉 B
- 5 x 螺钉 F
第 3 部分要求:
- 45 x 螺钉 B
- 50 x 螺钉 C
- 24 x 螺钉 G
总清单
第 1 节 + 第 2 节 + 第 3 节 = {完整的材料清单}
我尝试过/考虑过的:
我上面提到的所有螺钉都有自己的类,并扩展了超类“紧固件”。上面提到的每个部分都有一个变量:
ArrayList<Fasteners>
所以当我计算时,我可以将螺丝添加到这个变量中。一旦每个部分计算出它需要多少个紧固件,我就会将它们一起添加。
我考虑在“Fasteners”超类中创建一个“add(Fixings)”方法,它将所有重复的项目添加在一起。但是因为有 100 个项目,我认为编码效率不会很高,并且怀疑有更好的方法来利用我在这里设置的多态性。任何在线参考或提示都会有所帮助,非常感谢。