【问题标题】:passing arguments across many classes跨多个类传递参数
【发布时间】:2014-06-04 00:22:58
【问题描述】:

如果我有一组类,假设 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);
}

提前致谢。

【问题讨论】:

  • 有多少个参数?如果有很多,也许您应该将所有参数收集到一个对象中并传递它。 (您甚至可能会发现该对象本身很有用。)
  • 谢谢,帮助更多

标签: java class arguments


【解决方案1】:

你能在每个连续的类中创建一个构造函数,它接受前一个类类型的单个参数吗?您需要制作适当的 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
}

【讨论】:

    猜你喜欢
    • 2014-10-30
    • 2010-11-12
    • 2012-06-17
    • 1970-01-01
    • 2018-10-21
    • 2014-10-27
    • 1970-01-01
    • 2016-06-28
    • 2022-07-26
    相关资源
    最近更新 更多