У меня есть объект $ obj (класс A).
Могу ли я конвертировать класс для $ obj в B?
Возможно, есть другой способ.
Пример:
class A
{
public $AProp = 1;
public function &Convert($ATypeName)
{
// HOW?
return $this;
}
}
class B extends A
{
public $BProp = 2;
}
$obj=new A();
$obj->Convert("B");
print_r($obj->BProp);
Я написал следующее решение, но оно бесполезно.
(Похоже, ваш пост в основном кодовый; я добавлю еще несколько деталей)
class A
{
public $AProp = 1;
public function &Convert($ATypeName)
{
$Result = new $ATypeName; // Create new object
$Result->AProp = $this->AProp; // Copy params...
return $Result;
}
}
class B extends A
{
public $BProp = 2;
}
$obj = new A();
$obj->AProp = 3;
$obj = $obj->Convert("B");
print_r($obj);