2013-10-18 34 views
0

我有類A和$processorObject類屬性持有一個對象。在構造函數中顯式設置對象屬性還是隱式地在方法中設置對象屬性?

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(); 
} 

哪一個我應該選擇?爲什麼?

//編輯:固定變量名稱

回答

0

兩者都做同樣的事情。無論你使用哪一個。

在兩種情況下會出現完全相同的結果:processorObject的

在$這個 - > processorObject將存儲對象。

+0

是的,我知道。我感興趣的是哪一個更明顯,如果需要更容易更改 –

+0

它並不重要,它的選擇,也沒有關係,如果你將來需要改變它,你只會改變一行代碼:-) – Legionar

+0

謝謝:)。你會選哪一個? –

相關問題