我有两节课。刚开始时,从逻辑上讲,将它们嵌套是有意义的,因为它们直接相互关联:
class ClassA
{
List<ClassB> list = new ArrayList();
public boolean add(ClassB cB)
{
return list.add(cB);
}
public ClassB get(int index)
{
return list.get(index);
}
class ClassB
{
public int test()
{
return 123;
}
}
}
随着我的进步,我开始怀疑是否最好不要嵌套它们。如果我想向ClassA添加构造函数,例如:
public ClassA(List<ClassB> list)
这会造成困难。为了创建要传递给构造函数的列表,需要我拥有一个当时可能没有的ClassA实例,这将首先破坏了拥有此类构造函数的目的。
从逻辑上讲,我只会将ClassB与ClassA结合使用,但是我可能需要直接引用ClassB,而不必使用ClassA实例。我应该嵌套这些类还是将其分开?
如果在ClassA实例不可用时要引用ClassB,则不要嵌套ClassB。
如果要嵌套,则将需要一个对象ClassA来访问ClassB,因为它只能存在于ClassA实例中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句