使子类继承现有的基类实例

时间:2015-07-09 00:01:35

标签: php c++ oop inheritance

我正在尝试将应用程序从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对象模型的了解并没有反映出与我上面描述的类似的功能。

1 个答案:

答案 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();

?>