0
我的一個類需要提供兩種構造實例的方法:常規方式,即使用構造函數和工廠靜態方法。問題在於,在工廠方法中構造一個對象時,我需要向構造函數提供一些參數,這會導致不必要的計算,因爲這些計算的結果會以對象的屬性(即對象變量)結束,但是工廠方法知道這些屬性應該事先設置的值,並且可以在對象構建完成後立即完成設置。構造一個類的未初始化對象
class AClass
{
public function __construct ($param1, $param2)
{
// some computations ending up in $this->_prop etc.
}
public static function factory()
{
$obj = new self(); // no way
$obj->_prop = "predefined value";
}
protected $_prop;
}
莫不是構建一個「空白」對象的方式,然後在「手動」設置其屬性?
,構造函數的參數不能被允許有默認值.. –
不甚至_null_? – Loopo