PHP的“扩展”本质是什么? PHP的“扩展”如何实现?

时间:2019-10-13 03:47:57

标签: php extends

extends的本质是什么?

class Person{
    public $name;
    public $age;

    public function __construct($name, $age)
    {
        $this->name = $name;
        $this->age = $age;
    }
}


class Woman extends Person{
    public $hair;
    public function __construct($name, $age, $hair)
    {
        parent::__construct($name, $age);
        $this->hair = $hair;
    }
}

给定一个类的鞋面扩展示例。 我听说extends的本质是将代码从父类复制到子类,但我不知道该如何验证。

PHP编译时extends的本质是什么?

请参见以下代码段:

    public function __construct($name, $age, $hair)
        {
            parent::__construct($name, $age);
            $this->hair = $hair;
        }

如果扩展本质是将复制代码混合在一起,那么我猜PHP编译会将上面的代码段转换为以下代码:

public function __construct($name, $age, $hair)
{
    $this->name=$name;
    $this->age=$age;
    $this->hair=$hair;
}

那么extends的本质是什么?如何处理parent关键字?

如果显示Woman子类的PHP编译结果,我们可以知道扩展的本质。而且我想知道PHP如何实现extends的功能。

PHP是一种开放源语言,也许有源代码可以解释。

0 个答案:

没有答案