跳到主要内容

PHP子类如何调用父类构造方法 ?

参考答案:

在PHP中,子类可以通过parent::__construct()来调用父类的构造方法。这通常在子类的构造方法中完成,以确保父类中的初始化代码得到执行。

下面是一个简单的示例:

class ParentClass {
    public function __construct() {
        echo "Parent class constructor called\n";
    }
}

class ChildClass extends ParentClass {
    public function __construct() {
        parent::__construct(); // 调用父类的构造方法
        echo "Child class constructor called\n";
    }
}

$obj = new ChildClass();

在这个例子中,ChildClassParentClass的子类。当创建一个ChildClass的实例时,首先会调用ChildClass的构造方法。在ChildClass的构造方法中,我们使用parent::__construct()来显式地调用父类的构造方法。因此,输出将会是:

Parent class constructor called
Child class constructor called

这表明首先调用了父类的构造方法,然后调用了子类的构造方法。

需要注意的是,如果子类没有显式地调用父类的构造方法,并且父类的构造方法不是公共的(即不是public),则可能会遇到错误或不可预期的行为。因此,在创建子类时,通常建议在子类的构造方法中显式地调用父类的构造方法,以确保父类的初始化代码得到正确执行。