我正在尝试将应用程序从C ++重写为PHP,我很好奇我如何使用来自我的基类的现有实例的值初始化我的子类。这样做的原因是我有一个基类列表,每个基类可以有多个配置。我在C ++中通过从子类中的初始化程序调用基类的复制构造函数来实现它:
class A {
public:
A(int a) : a(a) {};
protected:
int a;
}
class B : public A {
public:
B(int b, const A &a) : A(a), b(b) {};
private:
int b;
}
我一直在试图弄清楚如何在PHP中实现类似的东西,但是我对PHP对象模型的了解并没有反映出与我上面描述的类似的功能。
答案 0 :(得分:0)
看看这个并改变不需要的东西。
<?php
class A
{
protected $a;
function __construct($_a)
{
$this->a = $_a;
}
function PrintA()
{
echo $this->a;
}
}
class B extends A
{
private $b;
function __construct($_b, $_a)
{
$this->b = $_b;
parent::__construct($_a);
}
function PrintB()
{
echo $this->b;
}
}
$classA = new A(5);
$classA->printA();
$classB = new B(5,2);
$classB->printA();
?>