Java类应该具有的实例变量的最大数量是多少?

Java类应该具有的实例变量的最大数量是多少?,java,oop,Java,Oop,一个JAVA类中有20-25个实例变量及其getter/setter,这样的OO设计好吗? 所有变量都是完全独立的。 因为我在HBase中使用了一个类,它表示一个列族,所以列族可以为每行拥有不同数量的列。所以我必须在那个类中放入这么多的变量。 我很想知道, 理想情况下,一个JAVA类应该有多少实例变量和方法?只要确保低成本,这并不重要。为一个类分配如此多的变量可能会增加高度耦合的机会 另外,这可能是你的类的低内聚性的标志,而不是高内聚性的理想情况。对于20-25个实例变量,你应该在限制范围内,但

一个JAVA类中有20-25个实例变量及其getter/setter,这样的OO设计好吗?
所有变量都是完全独立的。
因为我在HBase中使用了一个类,它表示一个列族,所以列族可以为每行拥有不同数量的列。所以我必须在那个类中放入这么多的变量。 我很想知道,
理想情况下,一个JAVA类应该有多少实例变量和方法?

只要确保低成本,这并不重要。为一个类分配如此多的变量可能会增加高度耦合的机会


另外,这可能是你的类的低内聚性的标志,而不是高内聚性的理想情况。

对于20-25个实例变量,你应该在限制范围内,但是,我认为20-25可能太多了。您可以尝试将它们分组到不同的类中,并减少实例变量的数量


通常,拥有大量实例变量会使类的作用域受到限制,这在希望维护解决方案的场景中并不理想。分解它(如果操作得当)应该会增加某些类的可重用性。

Java对类可以具有的Java实例变量没有任何限制。根据您的要求,您可以有任意数量的实例变量

要记住的关键点是,它们应该只能通过getter和setter方法访问。用户不能使用实例变量的名称直接访问它们


意味着实例变量应该用私有修饰符声明,并且必须提供公共方法来访问和操作它们。

为了获得好的OO,最好让类承担单一的责任。 所以,如果你有这么多不相关的变量,听起来好像这个类做的太多了

<>这将是一个“代码气味”,你应该考虑重构成多个类。

很高兴你对好的OO感兴趣。我建议阅读重构和代码气味


在这里是相对的。

好吧,如果您的类表示数据持有者对象,那么使用它完全可以。这种设计在JavaBean中很常见

例如,如果您有一个代表公司员工的类,那么如果员工有20-25个属性,这是很常见的

但是,如果您将如此多的实例变量与业务方法混为一谈,那么接下来您将面临困难,因为您将无法获得集中和集中的业务组件

<> p>为了更好地构建架构,可以考虑继承(子类)或组成(内部类)

也适用。