gpt4 book ai didi

java - 如何划分具有独立方法的以下类?

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:19 24 4
gpt4 key购买 nike

我实现了一个类,其中包含内置 Java 不支持的方法。然而,过了一段时间,这个类已经变得相当大了。由于它包含像 printMapContainer() 和 splitMapContainer 这样的独立方法,我认为我应该将类划分为两个或多个不同的逻辑子类,并添加一些层次结构。但是,我不知道如何拆分下面的类,因为它们不适合继承类问题。我应该如何在逻辑上划分这个具有独立方法的类,以便我可以在不损失代码质量的情况下将更多方法放入新的层次结构中? (一个类30个方法,很尴尬不是吗?)

 HashMapHelper

mergeHashMaps.java // merge more than one hash maps into one
printHashMap.java // print key,value pair in desired format to console
formHashMap.java // form existing hash map into new format
splitHashMap.java // split hash map into more same size chunks
isEqual.java // is two hash map contain same pair
removeALL.java // remove all key from hash map
updateKeyALL.java // update hash map with new key set

每个方法都有多个辅助方法,以便遵守每个方法 24 行规则。因此,仅一个类,我就有近20个方法。我只想将层次结构放入此类,然后使用,例如;也许就像,HashMapHelper hMH = new BasicHashMapMethods();

最佳答案

根据您的描述,您的类的所有方法都是无状态的。在这种情况下,该类应该是一个不可实例化的帮助器类,其所有方法都声明为static。继承此类并不是一个好主意,因为它的所有功能都可能有用。如果您发现自己向同一个类添加了针对不同集合的方法,则可能需要将该类拆分为 HashMapHelperMapHelper,其中 HashMapHelper 根据需要使用 MapHelper 的方法。

具有 30 多个辅助方法的类在 Java 中并不罕见。有关具有类似功能的类的示例,请查看 Collections类:它有 50 多个方法,所有这些方法对于操作 Java 集合都很有用。

关于java - 如何划分具有独立方法的以下类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892504/

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