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