如果我有一组类让我们说A,B,C和D类,A类启动B类,B类启动C类,C类启动D类,它们的参数必须从A传递到D,是最好的传递方式??我必须传递所有类的参数吗? 我尝试了这个解决方案,但我更容易搜索。
class A
{
B b=new B(the_arguments);
}
class B
{
C c=new C(the_arguments);
}
class C
{
D d=new D(the_arguments);
}
提前感谢。
答案 0 :(得分:2)
你能在每个连续的类中创建一个构造函数,它接受前一个类类型的单个参数吗?您需要制作适当的getter,或者将参数公开给其他类(如果它们彼此派生,那么这些参数就不会太糟糕了。)
class A
{
B b = new B(this);
}
class B
{
B(A a) { this.foo = a.foo; ... } // Constructor
C c = new C(this);
}
class C
{
C(B b) { this.foo = b.foo; ... } // Constructor
D d = new D(this);
}
class D
{
D(C c) { this.foo = c.foo; ... } // Constructor
}