是否必须从PHP中的子类的构造函数中调用parent :: __构造?

Bli*_*lip 5 php inheritance constructor class

是否必须从子类构造函数中的构造函数调用父构造函数?

要解释一下,请考虑以下示例:

class Parent{

    function __construct(){
        //something is done here.
    }

}

class Child extends Parent{

    function __construct(){
        parent::__construct();
        //do something here.
    }

}
Run Code Online (Sandbox Code Playgroud)

如上所述这是很正常的.但请考虑以下类的构造函数Child:

function __construct(){
    //Do something here
    parent::__construct();
}
Run Code Online (Sandbox Code Playgroud)

以上代码是否正确?在调用父代的构造函数之前,我们可以做些什么吗?另外如果我们不像下面那样在子的构造函数中调用父的构造函数是否合法?

class Child extends Parent{

    function __construct(){
        //do something here.
    }

}
Run Code Online (Sandbox Code Playgroud)

我来自JAVA,我所展示的构造函数类型在Java中是不可能的.但这些可以在PHP中完成吗?

Mac*_*ity 10

这是强制性的吗?

没有

以上代码是否正确?

在调用父代的构造函数之前,我们可以做些什么吗?

是.您可以按任何顺序进行操作.

另外如果我们不像下面那样在子的构造函数中调用父的构造函数是否合法?

是.但它也不隐含.如果子构造函数没有调用父构造函数,那么它将永远不会被调用,因为子构造函数会覆盖父构造函数.如果您的孩子没有构造函数,那么将使用父构造函数