在构造函数中显式设置对象属性还是在方法中隐式设置?

时间:2013-10-18 09:37:56

标签: php

我有一个包含$processorObject类属性的类A,它包含一个对象。

class A {
   public $processorObject;
}

该对象是在initProcessorObject方法中创建的。从类A的构造函数调用此方法。我的问题是initProcessorObject方法是否应返回创建的processorObject,或者方法是否应将其分配给类A的$processorObject属性。所以: 1)这里方法返回对象:

public function __construct() {
    $this->processorObject = $this->initProcessorObject();
}

public function initProcessorObject() {
    require_once('/some/path/objects.php');
    return new processorObject();
}

2)这里方法分配对象:

public function __construct() {
    $this->initProcessorObject();
}

public function initProcessorObject() {
    require_once('/some/path/objects.php');
    $this->processorObject = new processorObject();
}

我应该选择哪一个?为什么?

//编辑:固定变量名称

1 个答案:

答案 0 :(得分:0)

两者都这样做。无论你使用哪一个都无关紧要。

在这两种情况下都会有完全相同的结果:

in $ this-> processorObject将存储processorObject的对象。