在我们的一个项目中,我找到了这段代码
class A
{
private B b = new B();
protected void AMethod()
{
var x = b.DomeSome();
}
}
我的问题是,这是一种“干净”的编码方式吗?在AMethod中实例化b会更清晰吗? 是依赖吗?
答案 0 :(得分:2)
如果您在AMethod
中创建了b的实例,则AMethod
结束后变量将丢失。因此,AMethod
的每次调用都会创建新对象B。
另一方面,在类级别声明变量(如在您的示例中)将允许您为AMethod
的所有调用重用B的实例。
除非您为我们提供更多背景信息,否则没有关于如何清洁的确切答案
答案 1 :(得分:2)
如果DomeSome
更改了B
的状态,则在B
的每次调用都AMethod
实例化时,逻辑会有所不同。
给出了这么多代码:代码很干净,取决于它。
答案 2 :(得分:1)
AMethod中的例子b会更清晰吗?
会有所不同。在当前代码中,当实例化A时实例化b。
有依赖吗?
是
答案 3 :(得分:0)
是完全取决于你的要求.. b
类型的B
变量也可能在其他地方需要,所以它已在{{1}中声明}。
Class
上没有明确定义的规范。只要简洁,易懂并且做它需要做的事情,就要保持编码。
此外,我假设您已将变量名称更改为A& B在这里发布..如果它们存在于实际代码中..现在改变!!