我有Java类,并且从其他类中需要一个对象。我的问题是哪个更好?
在类定义之外创建类的实例还是在构造函数中创建?
示例代码:
const b = new B();
class A {
// and then use b
}
// or
class A {
constructor() {
const b = new B();
}
}
答案 0 :(得分:0)
如果它们都是两个类,您可以扩展所需的类吗?
class b {}
class a extends b {}
答案 1 :(得分:0)
哪个类控制其他创建对象的对象的 lifetime 。
在您的示例中,如果A
控制着B
的特定实例的生存期,那么可以在构造函数中创建B
。
但是,如果另一个类控制B
中对象的生存期(或拥有),则B
的实例应传递给构造函数中的A
。
测试很简单:负责其他对象生命周期的类负责创建这些对象。