【发布时间】:2018-05-29 19:10:02
【问题描述】:
假设我有一个类负责组成另一个类:
class ClassBuilder
{
protected $baseClass;
public function __construct()
{
$this->baseClass = new BaseClass();
}
public function set()
{
$this->baseClass->foo = 'bar';
}
// other methods to further modify BaseClass
}
class BaseClass
{
public $foo;
}
class ChildClass extends BaseClass {}
我想在ClassBuilder 中创建一个方法,它允许我将其baseClass 属性更新为ChildClass 的实例,其属性值与当前的BaseClass 对象相同。我该怎么做?
public function update()
{
// $this->baseClass = new ChildClass() with the current property values in BaseClass
}
【问题讨论】:
-
听起来你在factory pattern之后,虽然我不相信你的实现是完全正确的......
标签: php oop inheritance clone