Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OOP—每个类的成员变量和方法数_Java_Oop - Fatal编程技术网

Java OOP—每个类的成员变量和方法数

Java OOP—每个类的成员变量和方法数,java,oop,Java,Oop,我有一个Java类,它有25个成员变量,但只有两个“有用”的方法(不包括setter/getter)。我感觉好像有25个全局变量在左、右、中被修改,不知道发生了什么。这正常吗?是否有任何“良好实践”规则规定一个类中可以合理封装多少数据成员和方法 PS:我搜索过了,但显然这个问题还没有被问到 谢谢你的帮助 这听起来肯定不对 我希望每个班级都有一个独立的团队,并委派给其他班级并与之合作。如果你有25个会员,那么听起来好像有很多事情要做。我希望重构这个类: 确定发生了什么(正在执行哪些操作/行动) 确

我有一个Java类,它有25个成员变量,但只有两个“有用”的方法(不包括setter/getter)。我感觉好像有25个全局变量在左、右、中被修改,不知道发生了什么。这正常吗?是否有任何“良好实践”规则规定一个类中可以合理封装多少数据成员和方法

PS:我搜索过了,但显然这个问题还没有被问到


谢谢你的帮助

这听起来肯定不对

我希望每个班级都有一个独立的团队,并委派给其他班级并与之合作。如果你有25个会员,那么听起来好像有很多事情要做。我希望重构这个类:

  • 确定发生了什么(正在执行哪些操作/行动)
  • 确定参与这些任务的成员组
  • 将这些对象提取到执行该角色的对象中,并在适当的情况下委托给这些对象
  • 在类中执行此操作可能是合适的,从而使重构对客户端类不可见。然而,如果你有多个setter/getter,我怀疑这不太可能


    无论您如何执行重构,都要确保该区域包含了适当的单元测试集。

    有多少个?据我所知没有


    但我使用的规则是将变量保持在尽可能小的范围内。如果不是25个成员中的所有成员都代表对象的状态,则并非所有成员都需要是成员。

    添加到其他答案中,请查看的TooManyFields部分

    据说

    具有太多字段的类可能会变得笨拙,并且可能会被忽略 重新设计以减少字段,可能是通过分组相关字段 新对象中的字段。例如,具有单个 城市/州/邮政编码字段可以将它们存放在单个地址字段中


    其他规则也会派上用场,您可以使用和等工具更好地了解代码如何遵守标准。

    我在代码上运行了PMD,它确实抱怨我的类有太多的字段。伟大的链接伙伴,谢谢!但假设我的应用程序中有10个ImageButton,我将这些按钮用于不同的用途。我已经将这10个按钮定义为成员变量。有没有办法减少Android中成员变量的数量?如果您对此有任何提示/建议,请提供帮助。谢谢